10

Is there a good tutorial on parsing json attributes in python? I would like to be able to parse the true value for "ok" field. As well as the index named "client_ind_1". I don't understand the python document coverage on this topic. If someone could explain or point me to a better resource, it would be awesome.

My json string looks like the below:

{
    "ok": true,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "indices": {
        "client_ind_2": {
            "index": {
                "primary_size": "2.5mb",
                "primary_size_in_bytes": 2710326,
                "size": "2.5mb",
                "size_in_bytes": 2710326
            }
        }
    }
}

Thank you in advance.

iblazevic
  • 2,713
  • 2
  • 23
  • 38
Horse Voice
  • 8,138
  • 15
  • 69
  • 120
  • It's possibly a duplicate, please look at: http://stackoverflow.com/questions/4759634/python-json-tutorial – Siva Cn Oct 24 '13 at 18:29

2 Answers2

20
import json

a =  """{
    "ok": true,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "indices": {
        "client_ind_2": {
            "index": {
                "primary_size": "2.5mb",
                "primary_size_in_bytes": 2710326,
                "size": "2.5mb",
                "size_in_bytes": 2710326
            }
        }
    }
}"""

b = json.loads(a)

print(b['ok'])
print(b['indices']['client_ind_2']['index'])

This will take json as python dictionary and will print 'ok' and index value you want:

True
{u'primary_size': u'2.5mb', u'primary_size_in_bytes': 2710326, u'size_in_bytes': 2710326, u'size': u'2.5mb'}
iblazevic
  • 2,713
  • 2
  • 23
  • 38
2
import json
dct = json.loads(my_json_str)
is_ok = dct['ok']
client_index = dct['indices']['client_ind_2']['index']
shx2
  • 61,779
  • 13
  • 130
  • 153