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["\/common\/topic\/weblink"][0].url

(おもう)

于 2010-12-19T20:08:22.040 に答える
0

試す

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