web-dev-qa-db-ja.com

pythonでUnicode JSONを通常のJSONに変換する

私は次のjsonを手に入れました:{u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}をpythonコードでrequest.jsonすることにより。 :{"a": "aValue", "b": "bValue", "c": "cValue"}。手動での置換を行わずにこれを行うにはどうすればよいですか?助けてください。

8

{u'a ':u'aValue'、u'b ':u'bValue'、u'c ':u'cValue'}は、Unicode jsonとして呼び出す辞書です。さて、あなたの言語でこれから通常のjsonが必要な場合は、このようなことをしてください:

x={u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
y=json.dumps(x)
print y

出力は{"a": "aValue"、 "c": "cValue"、 "b": "bValue"}になります

13
nirprat

python 2.x

import yaml
import json
json_data = yaml.load(json.dumps(request.json()))

これで、このjson_dataはjsonとして使用でき、jsonのリストも持つことができます。

8
deusxmachine

リスト内包表記を使用して、次のようにすべてのキーと値をasciiとしてエンコードできます。

dict([(k.encode('ascii','ignore'), v.encode('ascii','ignore')) for k, v in dct.items()])

注:一般に、Unicodeでデータを保持しないことにはあまりメリットがないため、Unicodeで保持しない特別な理由がない限り、そのままにしておきます。

1
Natecat