0

我需要写出这个 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”的值?

4

3 回答 3

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"]

请注意,您省略了我添加的对象上的括号。

于 2010-12-19T20:37:08.463 回答
0

尝试

result.__getattribute__("\/common\/topic\/weblink")[0].url
于 2010-12-19T20:30:51.257 回答
0

你想要类似的东西

result["\/common\/topic\/weblink"][0].url

(我认为)

于 2010-12-19T20:08:22.040 回答