0

サーバーからデータを取得するためにPythonコードを使用しています。ただし、JSON の各キーのプレフィックスとして「u」を取得し続けます

次のように:

"{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 に答える