处理返回的JSON数据中的Unicode字符串

时间:2013-02-01 20:38:26

标签: python json unicode

我正在尝试从获取的JSON打印数据,但数据具有unicode解码数据。如何编码(参见示例)它才能正确显示。我是python的新手并且无法使其工作,我在命令行终端上使用Windows 7,python 2.7。谢谢!

示例:结果>>标题:

'R \ u00f6yksopp - 49%'必须将其打印为'Röyksopp - 49%'

"title": "R\u00f6yksopp - 49 Percent",

JSON:

"results": [{
        "style": ["House", "Electro", "Synth-pop"],
        "thumb": "http://api.discogs.com/image/R-90-530519-1236701656.jpeg",
        "format": ["CD", "Maxi-Single"],
        "country": "Europe",
        "barcode": ["5 028589 023420", "BEL/BIEM", "LC 3098"],
        "uri": "/R%C3%B6yksopp-49-Percent/master/30161",
        "label": ["Virgin", "Labels", "Wall Of Sound"],
        "catno": "0946 3378752 0",
        "year": "2005",
        "genre": ["Electronic"],
        "title": "R\u00f6yksopp - 49 Percent",
        "resource_url": "http://api.discogs.com/masters/30161",
        "type": "master",
        "id": 30161
    }

1 个答案:

答案 0 :(得分:1)

环境:Windows 7,默认代码页= 850,Python 2.7.3

使用输入的缩减版本:

>>> import json
>>> js = """{
...         "style": ["House", "Electro", "Synth-pop"],
...         "title": "R\u00f6yksopp - 49 Percent",
...         "id": 30161
...     }"""
>>>
>>> j = json.loads(js)
>>> j
{u'style': [u'House', u'Electro', u'Synth-pop'], u'id': 30161, u'title': u'R\xf6yksopp - 49 Percent'}
>>> j['title']
u'R\xf6yksopp - 49 Percent'
>>> print j['title']
Röyksopp - 49 Percent
>>>