Проблемы разбора моего json, я получаю "JSONDecodeError: Invalid \ escape" - PullRequest
0 голосов
/ 20 марта 2020
my_json = '{"hello":"\\x20\\x20\\x20\\x3Cdiv\\x3E\\x20\\x0A\\x20\\x20\\x20\\x20\\HELLO"}'

json.loads(my_json)

Я получил это.

JSONDecodeError: Invalid \escape: line 1 column 11 (char 10)

Какое преобразование мне нужно использовать, чтобы мой json загрузился?

Ответы [ 2 ]

1 голос
/ 20 марта 2020

просто сначала конвертируйте python строку в json, и она будет работать для вас. my_ json = json .dumps ({"привет": "\ x20 \ x20 \ x20 \ x3Cdiv \ x3E \ x20 \ x0A \ x20 \ x20 \ x20 \ x20 \ HELLO"}) json .loads ( MY_ json)

0 голосов
/ 22 марта 2020

Предложение @pguardiario определенно чище, но если вы только что набрали dict, попробуйте eval :

In [77]: my_json                                                                
Out[77]: '{"hello":"\\x20\\x20\\x20\\x3Cdiv\\x3E\\x20\\x0A\\x20\\x20\\x20\\x20\\HELLO"}'

In [78]: evaluated = eval(my_json)                                                          
Out[78]: {'hello': '   <div> \n    \\HELLO'}

In [79]: evaluated.items()                                                      
Out[79]: dict_items([('hello', '   <div> \n    \\HELLO')])
...