2012-12-09 73 views
0

我正在使用python代碼從我的服務器獲取數據。不過,我不斷收到一個「U」作爲前綴的JSON在Python上避免utf-8

爲每個鍵如下:

"{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) 

沒有任何知道如何避免它?

回答

7

u''表示該值是一個unicode文字。一切都按預期工作,你不需要擺脫那些。

JSON是原生地支持Unicode值的標準,因此一個Python值轉換成JSON當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}' 
+0

你是對的..我修好了它..看起來像你說的 –

0

我認爲有些事情搞混了這裏。你發佈的結果看起來像是一個字典的Python表示。準確地說:json.dumps返回一個字符串,所以它的結果應該用引號括起來,像這樣:

>>> import json 
>>> json.dumps({'foo': 'bar'}) 
'{"foo": "bar"}'