Python JSON转储加入了字符

时间:2015-11-08 23:51:12

标签: json python-2.7

我正在使用一个名为Wrapper.py(this)的程序,但是有一些类型的错误。因为它是Python,我试图找到错误。据我所知,错误在于它试图写&加载一些JSON,但它收到这样的字符串:“Közép-európainyelvezet”,或类似的东西。它导致UnicodeDecodeError:

>>>import json
>>>out={"a":"Közép-európai nyelvterület"}
>>>json.dumps(out)
Tracebank(the path, etc.)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x94 in position 1: Invalid start byte

然后我用谷歌搜索,&发现编码解决方案:

>>>a=json.dumps(out,ensure_ascii=False)
>>>a
'{"a":"K\x94z\x82p-eur\xarpai nyelvter\x81let"}'

然后我想加载它:

>>>json.loads(a)
Traceback, etc.
UnicodeDecodeError: 'utf8' codec can't decode byte 0x94 in position 1: Invalid start byte
>>>json.load(a,ensure_ascii=False)
Traceback
TypeError: __init__() got an unespected keyword argument: 'ensure_ascii'

如何加载我的数据?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用text而不是bytestrings。

out = {u"a":u"Közép-európai nyelvterület"}