Reputation: 4170
Below is a snippet from the code that I have.
fullsrcurl = self.srcjson + format_type + '&jobname=' + joburl
srcfile = urllib2.urlopen(fullsrcurl)
if self.format_export == 'json':
srcdata = json.load(srcfile)
pprint(srcdata)
srcjobmst_id = srcdata["jobmst_id"][0]
What I'm trying to do with the above code is read from an API url that's returning json and get the 'jobmst_id' value from that json. The pprint(srcdata is providing the json below) from there I want to pull just the jobmst_id value which in the case below would be '58908'. I'll happily take it as an integer it can be converted, but as it stands right now it fails on the line with the error in the subject.
Below is the json -
[{u'evntmst_id': {u'evntmst_calendar': 0,
u'evntmst_crttm': u'2009-12-04T11:22:03',
u'evntmst_desc': None,
u'evntmst_fiscal': 0,
u'evntmst_frcstdt': u'2012-12-31T00:00:00',
u'evntmst_freq': 1,
u'evntmst_fromdt': None,
u'evntmst_id': 1,
u'evntmst_intsect': u'N',
u'evntmst_lstchgtm': u'2009-12-04T12:28:52',
u'evntmst_lstcmptm': u'2014-08-28T12:00:29',
u'evntmst_monthdays': u'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
u'evntmst_months': u'YYYYYYYYYYYY',
u'evntmst_name': u'Daily
',
u'evntmst_occur': 0,
u'evntmst_offset': 0,
u'evntmst_owner': 2,
u'evntmst_public': u'Y',
u'evntmst_subtype': None,
u'evntmst_timeframe': 0,
u'evntmst_totcnt': None,
u'evntmst_type': 2,
u'evntmst_untildt': u'2012-12-31T00:00:00',
u'evntmst_weekdays': u'YYYYYYY',
u'evntmst_weeks': u'NNNNN'},
u'job_dependencies': [],
u'job_events': [],
u'jobcls_id': None,
u'jobdtl_id': {u'jobdtl_abrtonclderr': None,
u'jobdtl_allowadhoc': u'Y',
u'jobdtl_carryover': 1,
u'jobdtl_cmd': None,
u'jobdtl_concur': 1,
u'jobdtl_deplogic': 1,
u'jobdtl_deprerun': u'N',
u'jobdtl_duration': 67,
u'jobdtl_envfile': None,
u'jobdtl_estdurexclude': 4,
u'jobdtl_estmethod': 1,
u'jobdtl_extinfo': None,
u'jobdtl_failalarm': None,
u'jobdtl_fromdt': u'2012-11-22T00:00:00',
u'jobdtl_fromtm': u'1899-12-30T23:30:00',
u'jobdtl_id': 58908,
u'jobdtl_inhagent': u'N',
u'jobdtl_inhevent': u'N',
u'jobdtl_inhoptions': u'N',
u'jobdtl_inhrepeat': u'N',
u'jobdtl_inhtime': u'N',
u'jobdtl_interval': None,
u'jobdtl_intervalcnt': None,
u'jobdtl_maxrun': 60,
u'jobdtl_minrun': 60,
u'jobdtl_nearoutage': 3,
u'jobdtl_normalexit': 0,
u'jobdtl_normalop': 1,
u'jobdtl_normalrange': 0,
u'jobdtl_outputname': None,
u'jobdtl_params': None,
u'jobdtl_priority': 50,
u'jobdtl_proxy': 4,
u'jobdtl_proxy2': None,
u'jobdtl_psjob': None,
u'jobdtl_rerun': None,
u'jobdtl_rerunok': u'Y',
u'jobdtl_retnsn': 30,
u'jobdtl_sapcount': None,
u'jobdtl_savelogonly': u'N',
u'jobdtl_saveoutput': u'Y',
u'jobdtl_statuscl': None,
u'jobdtl_timewin': 2,
u'jobdtl_trackcl': None,
u'jobdtl_trackcmd': None,
u'jobdtl_trackmethod': 1,
u'jobdtl_trxid': None,
u'jobdtl_unit': None,
u'jobdtl_untildt': u'1899-12-30T00:00:00',
u'jobdtl_untiltm': u'1899-12-30T23:50:00',
u'jobdtl_waitop': u'N',
u'jobdtl_workdir': None,
u'nodlstmst_id': 27,
u'nodmst_id': None,
u'servicemst_id': None},
u'jobmst_active': u'Y',
u'jobmst_alias': u'58908 ',
u'jobmst_crttm': u'2012-11-22T12:22:59',
u'jobmst_desc': None,
u'jobmst_dirty': u' ',
u'jobmst_evntoffset': None,
u'jobmst_id': 58908,
u'jobmst_lstchgtm': u'2012-11-22T13:01:34',
u'jobmst_mode': 0,
u'jobmst_name': u'SWIFT DB Backup',
u'jobmst_owner': {u'owner_allagents': u'Y',
u'owner_id': 257,
u'owner_name': u'Common ',
u'owner_type': 2},
u'jobmst_prntid': None,
u'jobmst_prntname': None,
u'jobmst_type': 1,
u'runbook_url': None}]
Upvotes: 0
Views: 73
Reputation: 1850
The way to retrieve the data is srcdata[0]["jobmst_id"]
and not srcdata["jobmst_id"][0]
.
Upvotes: 1