2012-12-09 3 views
0

파이썬 코드를 사용하여 서버에서 데이터를 가져옵니다. 그러나, 나는 점점 계속 a는 "U"는 JSON으로파이썬에서 utf-8을 사용하지 마십시오

의 각 키에 접두사로 다음과

from json import dumps 
ans = select something from the database  
json.dumps(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}" 

내 파이썬 코드는 그것을 피하기 위해?

답변

7

u''은 값이 유니 코드 리터럴임을 의미합니다. 모든 것이 의도 한대로 작동하므로, 제거 할 필요가 없습니다.

JSON은 기본적으로 유니 코드 값을 지원하는 표준이며, JSON에 파이썬 값을 변환 할 때 따라서 json 모듈은 유니 코드 문자열을 허용합니다

>>> 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

당신은 고정 it..it 당신이 말한 것처럼 right..I 보이는 것 –

0

뭔가가 여기 혼합있어 생각합니다. 게시 한 결과는 dict의 파이썬 표현처럼 보입니다. 정확히 말하면 : json.dumps하는 문자열을 반환, 그래서 그 결과는 다음과 같이 따옴표로 묶어야합니다 :

>>> import json 
>>> json.dumps({'foo': 'bar'}) 
'{"foo": "bar"}' 
관련 문제