【发布时间】:2015-06-23 19:02:16
【问题描述】:
我有一个file.json,我以这种方式在python中加载:
fd = open('originalfile.json' 'r', encoding='utf8')
然后我做了一些修改,然后我又用这种方式写了一个新文件
with open("newfile.json", "w", encoding="utf-8") as outfile:
outfile.write('[\n')
for i in result:
json.dump(i, outfile, indent=8)
outfile.write(',\n')
outfile.write(']')
但在我的 originalfile.json 中,我有西班牙语文本,例如“Baterías”,当我编写 newfile.json 时,这发生了“Bater\u00edas”我怎样才能以正常方式编写?
【问题讨论】:
-
这是正常的方式。如果您希望它具有未转义的 UTF-8,请使用 ensure_ascii=False。
-
你能解释一下吗?
-
json.dump(i, outfile, ensure_ascii=False, indent=8)
-
另外,你为什么关心你有哪一个?根据JSON specification,两者都是完全相同的字符串的表示。 JS、Python 等中的标准库,以及大多数(如果不是全部)没有内置 JSON 的语言的流行第三方库,都会对它们一视同仁。
标签: python json python-3.x utf-8 ascii