gpt4 book ai didi

python - 在python中从返回的JSON转换unicode字符

转载 作者:可可西里 更新时间:2023-11-01 10:38:00 24 4
gpt4 key购买 nike

我正在尝试从 musicbrainz 的 API 服务返回 JSON,一些歌曲的返回数据有 unicode 字符,我无法将它们转换为常规符号等。请告诉我我应该在这里做什么。

JSON:

{
"status": "ok",
"results": [{
"recordings": [{
"duration": 402,
"tracks": [{
"duration": 402,
"position": 6,
"medium": {
"release": {
"id": "dde6ecee-8e9b-4b46-8c28-0f8d659f83ac",
"title": "Tecno Fes, Volume 2"
},
"position": 1,
"track_count": 11
},
"artists": [{
"id": "57c1e5ea-e08f-413a-bcb1-f4e4b675bead",
"name": "Gigi D\u2019Agostino"
}],
"title": "You Spin Me Round"
}],
"id": "2e0a7bce-9e44-4a63-a789-e8c4d2a12af9"
}, ....

失败的代码(示例):

string = '\u0420\u043e\u0441\u0441\u0438\u044f'
print string.encode('utf-8')

我在 Windows 7 机器上使用它并且有 python 2.7 并在命令行终端上运行这段代码..我得到下面的输出:

C:\Python27>python junk.py Gigi DGÇÖAgostino Gigi D?Agostino Gigi D\u2019Agostino

我希望输出为 Gigi D' Agostino

最佳答案

Unicode 转义仅适用于 unicode 字符串,要将您的常规字符串转换为 unicode,请使用 str.decode('unicode-escape'):

In [1]: s='\u0420\u043e\u0441\u0441\u0438\u044f'

In [2]: s
Out[2]: '\\u0420\\u043e\\u0441\\u0441\\u0438\\u044f'

In [3]: s.decode('unicode-escape')
Out[3]: u'\u0420\u043e\u0441\u0441\u0438\u044f'

In [4]: print s.decode('unicode-escape')
Россия

In [5]: s2="Gigi D\u2019Agostino"

In [6]: s2
Out[6]: 'Gigi D\\u2019Agostino'

In [7]: print s2.decode('unicode-escape')
Gigi D’Agostino

关于python - 在python中从返回的JSON转换unicode字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14345066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com