Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting JSON objects in to dictionary in python

Tags:

python

json

I have string of data basically which has a objects with in the objects..

{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", group:{"id": "XXXX"}}}. You can check this format using "http://chris.photobooks.com/json/default.html" site.

No my requirement is to convert this to JSON objects as a dictionary. I have tried below way

import json
JSON_Datalist = '{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", group:{"id": "XXXX"}}}'
the_dict = json.loads(JSON_DataList)

but the_dict gives only left side values, no right values...

In the same way if string has a format..

"[{"sample": false, "radop": null, "view": true, "Example1": null}, {"noMarket": false, "Example2": null}]"

and following the same code.

JSON_Datalist = '[{"sample": false, "radop": null, "view": true, "Example1": null}, {"noMarket": false, "Example2": null}]'

the_dict = json.loads(JSON_DataList)

it gives the dictionary of length of 2, and this is what expected...

Can any please help me out in first case how can I get a dictionary...

like image 526
Guruswamy B M Avatar asked Oct 01 '13 07:10

Guruswamy B M


People also ask

Can we convert JSON to dictionary in Python?

If you have a JSON string, you can parse it by using the json.loads() method. The result will be a Python dictionary.

Is JSON object same as dictionary in Python?

A “JSON object” is very similar to a Python dictionary. A “JSON array” is very similar to a Python list. In the same way that JSON objects can be nested within arrays or arrays nested within objects, Python dictionaries can be nested within lists or lists nested within dictionaries.

What converts .JSON file into a Python object?

Use jsonpickle module to convert JSON data into a custom Python Object. jsonpickle is a Python library designed to work with complex Python Objects. You can use jsonpickle for serialization and deserialization complex Python and JSON Data.


2 Answers

I found two errors in your first example:

  1. You have a group in your stringified (Json) version of your dict. This should be a "group" (with quotes).
  2. You misspelled your variable; JSON_DatalistJSON_DataList (lowercase vs. capital L).

After fixing both, I had no problems anymore:

>>> JSON_Datalist = '{"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", "group":{"id": "XXXX"}}}'
>>> the_dict = json.loads(JSON_Datalist)
>>> the_dict
{u'user': {u'username': u'XYZ', u'group': {u'id': u'XXXX'}, u'id': u'XXXX'}, u'id': u'XXXX', u'name': u'xyz'}
like image 116
Alfe Avatar answered Sep 20 '22 15:09

Alfe


after fix the problem group should be "group", below code can meet your requirement

json_data={"id":"XXXX", "name": "xyz", "user" : { "id": "XXXX", "username":"XYZ", "group":{"id": "XXXX"}}}
data = json.dumps(json_data)
json_to_python = json.loads(data)
print (json_to_python)


{'id': 'XXXX', 'name': 'xyz', 'user': {'id': 'XXXX', 'username': 'XYZ', 'group': {'id': 'XXXX'}}}
like image 44
xiyurui Avatar answered Sep 22 '22 15:09

xiyurui