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