web-dev-qa-db-ger.com

Konvertieren Sie Unicode-Json zu normalem Json in Python

Ich habe folgenden Json: {u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'} durch Ausführen von request.json in meinem Python-Code. Nun möchte ich den Unicode-Json in normalen Json umwandeln, was folgendermaßen aussehen sollte: {"a": "aValue", "b": "bValue", "c": "cValue"}. Wie bekomme ich das, ohne manuelle Ersetzung? Bitte helfen.

7

{u'a ': u'aValue', u'b ': u'bValue', u'c ': u'cValue'} ist ein Wörterbuch, das Sie als Unicode-Json bezeichnen. Wenn Sie jetzt in Ihrer Sprache einen normalen Json möchten, tun Sie einfach Folgendes:

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

Die Ausgabe ist {"a": "aValue", "c": "cValue", "b": "bValue"}

12
nirprat

Für Python 2.x

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

Jetzt können diese Json-Daten als Json verwendet werden und können auch eine Liste von Json haben.

4
deusxmachine

Sie können ein Listenverständnis verwenden, um alle Schlüssel und Werte wie folgt zu codieren:

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

Hinweis: Es ist im Allgemeinen nicht von Vorteil, Ihre Daten nicht im Unicode-Modus zu haben. Wenn Sie also keinen bestimmten Grund haben, die Daten nicht im Unicode-Modus zu haben, würde ich es belassen.

0
Natecat