Python json.loads ValueError, expecting delimiter Python json.loads ValueError, expecting delimiter json json

Python json.loads ValueError, expecting delimiter


You can specify so called “raw strings”:

>>> print r'{"data": {"test": 1, "hello": "I have \" !"}, "id": 4}'{"data": {"test": 1, "hello": "I have \" !"}, "id": 4}

They don’t interpret the backslashes.

Usual strings change \" to ", so you can have " characters in strings that are themselves limited by double quotes:

>>> "foo\"bar"'foo"bar'

So the transformation from \" to " is not done by json.loads, but by Python itself.


Try this:

json.loads(r'{"data": {"test": 1, "hello": "I have \" !"}, "id": 4}')

If you have that string inside a variable, then just:

json.loads(data.replace("\\", r"\\"))

Hope it helps!


Try the ways source.replace('""', '') or sub it, cause "" in the source will make json.loads(source) can not distinguish them.