在python中将unicode json转换为普通json

在python中将unicode json转换为普通json,python,json,unicode,Python,Json,Unicode,我通过在python代码中执行request.json获得了以下json:{u'a':u'aValue',u'b':u'bValue',u'c':u'cValue'}。现在,我想将unicode json转换为普通json,应该是这样的:{“a”:“aValue”,“b”:“bValue”,“c”:“cValue”}。我如何做到这一点,而不必做任何手动更换?请提供帮助。您可以使用列表理解将所有键和值编码为ascii,如下所示: dict([(k.encode('ascii','ignore'),

我通过在python代码中执行
request.json
获得了以下json:
{u'a':u'aValue',u'b':u'bValue',u'c':u'cValue'}
。现在,我想将unicode json转换为普通json,应该是这样的:
{“a”:“aValue”,“b”:“bValue”,“c”:“cValue”}
。我如何做到这一点,而不必做任何手动更换?请提供帮助。

您可以使用列表理解将所有键和值编码为ascii,如下所示:

dict([(k.encode('ascii','ignore'), v.encode('ascii','ignore')) for k, v in dct.items()])
x={u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
y=json.dumps(x)
print y

注意:不使用unicode格式的数据通常没有多大好处,因此除非您有特定的理由不使用unicode格式,否则我会将其保留。

{u'a':u'aValue',u'b':u'bValue',u'c':u'cValue'}是一个您称为unicode json的字典。现在,在您的语言中,如果您希望从中获得常规json,那么只需执行以下操作:

dict([(k.encode('ascii','ignore'), v.encode('ascii','ignore')) for k, v in dct.items()])
x={u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
y=json.dumps(x)
print y
对于Python2.x,输出将是{“a”:“aValue”,“c”:“cValue”,“b”:“bValue”}

import yaml
import json
json_data = yaml.load(json.dumps(request.json()))

现在,此json_数据可以用作json,也可以包含json列表。

PyPi中的可用库可能会有所帮助,请参阅:

它旨在将带有变音符号(重音符号)的欧洲字符转换为其基本ASCII字符,但当unicode字符已经在ASCII范围内时,它也可以这样做

from unicode import unidecode

def fUnUn(sOrU):
    return unidecode(sOrU).encode('ascii') if type(sOrU) is unicode else sOrU

sASCII = fUnUn(u'ASCII')

这是为什么困扰你?已经被问了很多次了,你研究过了吗?Json.dumps不返回字典。它只将其转换为字符串。不要忘记导入json