0

我正在使用 python 代码从我的服务器获取数据。但是,我不断将“u”作为 JSON 中每个键的前缀

如下:

"{u'BD': 271, u'PS': 48, u'00': 177, u'CA': 5, u'DE': 15, u'FR': 18, u'UM': 45, u'KR': 6, u'IL': 22181, u'GB': 15}"

我的python代码如下:

from json import dumps
ans = select something from the database    
json.dumps(ans)

有谁知道如何避免它?

4

2 回答 2

7

u''意味着该值是一个 unicode 文字。一切都按预期工作,你不需要摆脱那些。

JSON 是一个原生支持 Unicode 值的标准,因此json模块在将 Python 值转换为 JSON 时接受 unicode 字符串:

>>> import json
>>> ans={u'BD': 271, u'PS': 48, u'00': 177, u'CA': 5, u'DE': 15, u'FR': 18, u'UM': 45, u'KR': 6, u'IL': 22181, u'GB': 15}
>>> json.dumps(ans)
'{"BD": 271, "PS": 48, "00": 177, "IL": 22181, "UM": 45, "KR": 6, "CA": 5, "DE": 15, "FR": 18, "GB": 15}'
于 2012-12-09T15:17:42.840 回答
0

我认为这里有些东西混淆了。您发布的结果看起来像是 dict 的 Python 表示。准确地说:json.dumps 返回一个字符串,所以它的结果应该用引号引起来,像这样:

>>> import json
>>> json.dumps({'foo': 'bar'})
'{"foo": "bar"}'
于 2012-12-09T15:24:09.997 回答