Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Valid JSON giving JSONDecodeError: Expecting , delimiter

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?

like image 831
userBG Avatar asked Feb 06 '12 06:02

userBG


2 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

like image 116
Felix Yan Avatar answered Oct 07 '22 11:10

Felix Yan


You need to add r before your json string.

>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>
like image 29
RanRag Avatar answered Oct 07 '22 11:10

RanRag