python json 如何保留非转义意义的"\"

我有一个.json文件,里面的内容类似于

{"a":"\/a"}

通过print打印,它显示为

'{"a":"\\/a"}'

使用json.load(f)后,产生的dict:

{'a':'/a'}

这并不是我想要的,我想要的是

{'a':'\/a'}

而且使用json.dump后,产生的文件变成了

{"a":"/a"}

既然json提供了json.load, json.dump, 传入的是一个文件句柄,同一个文件,经过一次load和一次dump,不作任何其它操作,它就把我的"\"吃掉了,
请问这算不算一个bug?

有一个方案是我先读取出文件中的字符串,然后用"\\"批量替换掉"\",再使用json.loads,请问除了这个方案,还有别的方法吗?

1个回答

json里面的\表示转义,而/不需要被转义,所以会造成'\/'在解析的时候变成'/','/'在转化成json格式字符串的时候自然也不需要添加'\',原来的'\/'来自于别的地方,不属于json的格式,因此在生成'\/'的地方处理该字符串便可以,最后我选择忽略这个细节,因为它并没有造成错误,转回去失去了'\'的'/'依然能够正确使用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐