如何在读取JSON时转义字符
我需要把这个JSON响应中的所有变量都写出来:
"result": {
"\/common\/topic\/weblink": [
{
"url": "http:\/\/www.boardgamegeek.com\/boardgame\/13",
"description": "BoardGameGeek"
}
],
"id": "\/en\/settlers_of_catan"
}
那么要获取id的话:
result.id
但是我该怎么获取“\/common\/topic\/weblink”的值呢?
3 个回答
0
试试看
result.__getattribute__("\/common\/topic\/weblink")[0].url
2
"\/common\/topic\/weblink"
这个字符串会变成 /common/topic/weblink
。任何访问解码后内容的API都应该使用这个解码后的数据;转义只是JSON编码的一部分。
使用Python自带的标准JSON模块,这样做是没问题的。我强烈建议你使用这个模块,而不是第三方的,除非你有非常强的理由去选择其他的:
import json
json_data = r"""
{
"result": {
"\/common\/topic\/weblink": [
{
"url": "http:\/\/www.boardgamegeek.com\/boardgame\/13",
"description": "BoardGameGeek"
}
],
"id": "\/en\/settlers_of_catan"
}
}"""
data = json.loads(json_data)
print data["result"]["/common/topic/weblink"]
注意你没有加上对象的外括号,我已经把它加上了。
0
你想要的东西大概是这样的
result["\/common\/topic\/weblink"][0].url
(我觉得是这样)