这无疑是一个有效的json字符串:
{"key": "quoted \"value\" and 'value'"}
...由于值中的'
和"
,这两个值都无效:
json.parse("{"key": "quoted \"value\" and 'value'"}")
json.parse('{"key": "quoted \"value\" and 'value'"}')
> SyntaxError: invalid syntax
但是,使用三重引号也是无效的:
json.loads("""{"key": "quoted \"value\" and 'value'"}""")
> JSONDecodeError: Expecting ',' delimiter: line 1 column 18 (char 17)
我明白了,原因是多行文字将\"
渲染为"
:
print("""{"key": "quoted \"value\" and 'value'"}""")
> {"key": "quoted "value" and 'value'"} <--- invalid json
那你是怎么做到的?
在简单的情况下,我可以手动修复json,但在复杂的情况下(数百行json),这是不合理的.
我试图解决的问题是通过jupyter笔记本手动重放请求;在chrome中复制请求正文,然后通过将请求粘贴到jupyter笔记本的单元格中来重播.