Valid JSON giving JSONDecodeError: Expecting , delimiter

Question:

I’m trying to parse a json response data from youtube api but i keep getting an error.

Here is the snippet where it choking:

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

..and this happens:

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

I’ve confirmed that it’s valid json and I have no control over the formatting of it so how can I get past this error?

Asked By: userBG

||

Answers:

You’ll need a r before “””, or replace all with \. This is not something you should care about when read the json from somewhere else, but something in the string itself.

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

see here for more information

Answered By: Felix Yan

You need to add r before your json string.

>>> st = r'{ "entry":{ "etag":"W/"A0UGRK47eCp7I9B9WiRrYU0."" } }'
>>> data = json.loads(st)
>>>
Answered By: RanRag
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.