我有一个 JSON 文件,其中编码了字符串raw_unicode_escape(文件本身是 UTF-8)。我如何解析它以便字符串在内存中是 UTF-8?
对于单个属性,我可以使用以下代码,但 JSON 非常大,并且无法在解析后手动转换每个字符串。
# Contents of file 'file.json' ('\u00c3\u00a8' is 'è')
# { "name": "\u00c3\u00a8" }
with open('file.json', 'r') as input:
j = json.load(input)
j['name'] = j['name'].encode('raw_unicode_escape').decode('utf-8')
由于 JSON 可能非常大,因此该方法必须是“增量”的,我无法提前读取整个文件,将其保存在字符串中,然后进行一些处理。
最后,我应该注意到 JSON 实际上存储在一个 zip 文件中,所以open()它不是ZipFile.open().
相关分类