52

YouTube API からの json 応答データを解析しようとしていますが、エラーが発生し続けます。

窒息するスニペットは次のとおりです。

data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

..そして、これが起こります:

JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)

それが有効なjsonであることを確認しましたが、そのフォーマットを制御できないため、どうすればこのエラーを回避できますか?

4

2 に答える 2

67

You'll need a rbefore """, or replace all \with \\. これは、他の場所から json を読み取るときに気にする必要があるものではなく、文字列自体に含まれるものです。

data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

詳しくはこちら

于 2012-02-06T06:39:51.847 に答える
8

rjson 文字列の前に追加する必要があります。

>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>
于 2012-02-06T06:41:46.110 に答える