On 2016-11-18 18:23, mike.rei...@gmail.com wrote:
hi all,

Im reading in a JSON file that looks like this


[
   {
      "name":"myField1",
      "searchable":true,
      "navigable":true,
      "custom":true,
      "clauseNames":[
         "cf[10190]",
         "Log Details"
      ],
      "orderable":true,
      "id":"customfield_10190",
      "schema":{
         "customId":10190,
         "type":"string",
         "custom":"com.atlassian.jira.plugin.system.customfieldtypes:textarea"
      }
   },
   {
      "name":"myField2",
      "searchable":true,
      "navigable":true,
      "custom":true,
      "clauseNames":[
         "cf[10072]",
         "Sellside Onboarding Checklist"
      ],
      "orderable":true,
      "id":"customfield_10072",
      "schema":{
         "items":"option",
         "customId":10072,
         "type":"array",
         
"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"
      }
   }]


Lets say I want to get the ID # of MyField1, how can I parse this with json lib? Theyre 
all on the same level, not sure how to target it to go to MyField1 and get "id" 
value.

Thanks

Parsing it is easy:

with open(json_path) as json_file:
    data_list = json.load(json_file)


If it's a one-off lookup, just do a linear search:

for entry in data_list:
    if entry['name'] == 'myField1':
        print('ID is {}'.format(entry['id']))
        break
else:
    print('Not found!')


If you're going to do multiple lookups, turn it into a dict, using the 'name' field as the key:

data_dict = {entry['name']: entry for entry in data_list}
if 'myField1' in data_dict:
    print('ID is {}'.format(data_dict['myField1']['id']))
else:
    print('Not found!')

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to