How I can get the number of elements in node of JSON data?
JSON:
{   "result":[     {       "run":[         {           "action":"stop"         },         {           "action":"start"         },         {           "action":"start"         }       ],       "find":true     }   ] }   I need to get the number of elements from node data['result'][0]['run']. It should be 3, but I can't find how to do it in Python.
No, it isn't possible to do math or any kind of expression in JSON as JSON is just a data structure format, and not a programming language.
You need to convert the string of a json object to python dict before you can access it. Show activity on this post. Usually the json will be a string and you will try and deserialise it into a object graph (which in python are typically are made up of maps and arrays).
import json  json_data = json.dumps({   "result":[     {       "run":[         {           "action":"stop"         },         {           "action":"start"         },         {           "action":"start"         }       ],       "find": "true"     }   ] })  item_dict = json.loads(json_data) print len(item_dict['result'][0]['run'])   Convert it in dict.
You're close. A really simple solution is just to get the length from the 'run' objects returned. No need to bother with 'load' or 'loads':
len(data['result'][0]['run']) 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With