web-dev-qa-db-ja.com

JSONDecodeErrorを与える有効なJSON:Expecting、delimiter

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

これが窒息するスニペットです:

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

..そしてこれが起こる:

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

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

25
ofko

"" "の前にrが必要か、すべての_\_を_\\_で置き換えます。これは、jsonを他の場所から読み取るときに気にする必要はありませんが、文字列自体。

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

詳細については こちら を参照してください

41
Felix Yan

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

>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>
6
RanRag