J'ai obtenu le json suivant: {u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
en faisant request.json
dans mon code python. Maintenant, je veux convertir le json unicode en json normal, quelque chose qui devrait ressembler à ceci: {"a": "aValue", "b": "bValue", "c": "cValue"}
. Comment puis-je faire cela, sans avoir à faire de remplacements manuels? S'il vous plaît aider.
{u'a ': u'aValue', u'b ': u'bValue', u'c ': u'cValue'} est un dictionnaire que vous appelez unicode json. Maintenant, dans votre langue, si vous voulez un json régulier à partir de ceci, alors faites quelque chose comme ça:
x={u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
y=json.dumps(x)
print y
Le résultat sera {"a": "aValue", "c": "cValue", "b": "bValue"}
Pour Python 2.x
import yaml
import json
json_data = yaml.load(json.dumps(request.json()))
Maintenant, ce json_data peut être utilisé comme un json et peut avoir une liste de json.
Vous pouvez utiliser une compréhension de liste pour coder toutes les clés et valeurs en tant qu'ascii comme ceci:
dict([(k.encode('ascii','ignore'), v.encode('ascii','ignore')) for k, v in dct.items()])
Remarque: il est généralement peu avantageux de ne pas avoir vos données en unicode. Par conséquent, à moins que vous n'ayez une raison particulière de ne pas les avoir en unicode, je les laisse.