Convert unicode json to normal json in python
Solution 1
{u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'} is a dictionary which you are calling as unicode json. Now, in your language if you want a regular json from this then just do something like this:
x={u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
y=json.dumps(x)
print y
The output will be {"a": "aValue", "c": "cValue", "b": "bValue"}
Solution 2
For python 2.x
import yaml
import json
json_data = yaml.load(json.dumps(request.json()))
Now this json_data can be used as a json and can have list of json as well.
Solution 3
You can use a list comprehension to encode all of the keys and values as ascii like this:
dict([(k.encode('ascii','ignore'), v.encode('ascii','ignore')) for k, v in dct.items()])
Note: There generally isn't much benefit to not having your data in unicode, so unless you have a specific reason not to have it in unicode, then I would leave it.
Sanjiban Bairagya
Updated on April 10, 2021Comments
-
Sanjiban Bairagya about 3 years
I got the following json:
{u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'}
by doingrequest.json
in my python code. Now, I want to convert the unicode json to normal json, something which should like this:{"a": "aValue", "b": "bValue", "c": "cValue"}
. How do I get this done, without having to do any manual replacements? Please help.