我正在抓取一个网站,它返回此 JSON 数据。
https://pastebin.com/R50eTqrD这是 print( repr( string ) ) 的输出
https://pastebin.com/VH6JrDMG这是 print( string )
我在做
resp = json.loads(resp)
但是它给了我这个错误
ValueError: Invalid \escape: line 1 column 170 (char 169)
我找到了解决方案here它建议我这样做
resp = json.loads(HTMLParser().unescape(resp.decode('unicode-escape')))
但它现在抛出这个错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 51-59: ordinal not in range(128)
我尝试了几种解决方案,例如
json.loads(HTMLParser().unescape(resp.decode('unicode-escape')).encode("utf-8"))
还有很多,但没有一个对我有用。
最佳答案
字符串中的那些 \x3E
字符有问题。如果 s
包含字符串,请尝试以下操作:
json.loads(s.replace(r'\x3E', '\x3E'))
关于python - ValueError : Invalid\escape: error while doing json. 加载(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072862/