【发布时间】:2020-07-26 05:46:03
【问题描述】:
我有一个要求,我必须在文件中写入一些 JSON 字符串。
例如,我有下面的字符串
我的python代码:
S = '''{
"K1": "v1",
"K2" : "\nv2"
}'''
当我尝试使用 json.dumps(s) 将其写入 json 文件时,它会被写入如下文件:
"{\"k1\" : \"v1\",\"k2\" : \"\\nv2\"}"
而我需要它是这样的:
{
"K1": "v1",
"K2" : "\nv2"
}
在 json 文件中。
如果我将字符串声明为以 r 开头的原始字符串,我可以实现这一点,但在实际场景中,我无法声明原始字符串,因为我在 python 变量中获取字符串值。
注意:我的 json 字符串值中有多个转义序列,如上述 json 结构中键 k2 的值。
如果有人帮助我生成具有所需 json 格式的正确 json 文件,将不胜感激。提前致谢。
【问题讨论】:
-
stackoverflow.com/questions/25242262/… -- 可能的解决方案
-
@Rajat Mishra - 它对我不起作用,因为我无法将字符串数据转换为字典。有什么方法可以创建以原始字符串为值的变量?
标签: json python-3.x escaping