【发布时间】:2017-08-08 11:12:40
【问题描述】:
我正在从外部 json 文件将一些数据加载到 Python 中,这在大多数情况下都可以正常工作。但是偶尔有些数据包含转义字符,我需要保留。
原始输入文件:
{
"version": 1,
"query": "occasionally I \"need\" to escape \"double\" quotes"
}
将其加载到 python 中:
import json
with open('input_file', 'r') as f:
file = json.load(f)
编辑
抱歉,我应该更清楚。我正在尝试做的事情如下:
'{}'.format(file['query'])
使用 json.dumps
actual_query = '"datadog.agent.up".over("role:dns").by("host").last(1).count_by_status()'
json.dumps(actual_query)
'"\\"datadog.agent.up\\".over(\\"role:dns\\").by(\\"host\\").last(1).count_by_status()"'
【问题讨论】:
-
您的输入文件似乎在 python 3.6 中为我提供了正确的结果,您使用的是什么版本?
-
@AnandSKumar 3.5.2 所以当你加载它时会保留转义字符?
-
你想做什么?如果你想得到 json 格式的转义,你可以使用
json.dumps(file) -
我不太确定你在追求什么......正确解析的文本不再需要反斜杠。如果您需要再次输出,它们将被正确转义...
-
查看这个问题的答案:stackoverflow.com/questions/9295439/…