Convert unicode json to normal json in python

42,176

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.

Share:
42,176
Sanjiban Bairagya
Author by

Sanjiban Bairagya

Updated on April 10, 2021

Comments

  • Sanjiban Bairagya
    Sanjiban Bairagya about 3 years

    I got the following json: {u'a': u'aValue', u'b': u'bValue', u'c': u'cValue'} by doing request.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.