這無疑是一個有效的 json 字串:
{"key": "quoted \"value\" and 'value'"}
...由于值中的'and ",這兩個都是無效的:
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 notebook 手動重放請求;您在 chrome 中復制請求正文,然后希望通過將請求粘貼到 jupyter 筆記本的單元格中來重播它。
uj5u.com熱心網友回復:
您可以在此處使用原始的三引號字串,它將反斜杠視為文字字符:
json.loads(r"""{"key": "quoted \"value\" and 'value'"}""")
> {'key': 'quoted "value" and \'value\''}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467317.html
上一篇:Rstudio推文回傳null
