一直在桌子上敲我的頭! 我有一個在json中下載的url,然後parsed_json = json.loads(response_body)到python字典。問題是,需要的數據(嵌入在字典中)是名爲列表的字典。如果我做了一個字典計數或關鍵字或其他任何事情,只要有37個字典,我就可以得到第一個3的等級。python在列表中獲取字典值
for key, value in parsed_json.iteritems() :
print key, value
一個星期,我無法弄清楚如何從列表類型的字典獲取所有值後,我可以通過這樣的事情得到一個,但我不能增加計數。
print parsed_json['list'][(1)]['value']
這是一個價格Digi的XBee雲獲得,得到的值後存在需要一些數學上的一些做,因爲結果是MV的不是C度。 任何方向獲得值非常感激。
摘錄的數據:
{u'count': 37,
u'list': [{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/management/connections',
u'id': u'00000000-00000000-00409DFF-FF818A13/management/connections',
u'server_timestamp': u'2015-11-21T04:21:45.407Z',
u'timestamp': u'2015-11-21T04:21:45.269Z',
u'type': u'JSON',
u'value': u'{"connectTime":"2015-11-21T04:21:45.269Z","type":"Ethernet","remoteIp":"72.38.16.255","localIp":"192.168.2.106","session":"17c6e5d2-3d9d-439b-aa8a-36f050bf8b9c"}'},
{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD1',
u'id': u'00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD1',
u'server_timestamp': u'2015-11-22T08:14:15.945Z',
u'timestamp': u'2015-11-22T08:14:09.101Z',
u'type': u'INTEGER',
u'value': u'1'},
{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD2',
u'id': u'00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD2',
u'server_timestamp': u'2015-11-22T08:14:15.964Z',
u'timestamp': u'2015-11-22T08:14:09.377Z',
u'type': u'INTEGER',
u'value': u'613'},
{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD3',
u'id': u'00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:0A]!/AD3',
u'server_timestamp': u'2015-11-22T08:14:15.930Z',
u'timestamp': u'2015-11-22T08:14:08.854Z',
u'type': u'INTEGER',
u'value': u'852'},
{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:50]!/AD1',
u'id': u'00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:50]!/AD1',
u'server_timestamp': u'2015-11-22T08:14:15.834Z',
u'timestamp': u'2015-11-22T08:14:07.477Z',
u'type': u'INTEGER',
u'value': u'0'},
{u'history_uri': u'/ws/v1/streams/history/00000000-00000000-00409DFF-FF818A13/xbee.analog/[00:13:A2:00:40:D5:8F:50]!/AD2',
謝謝 不確定第二個更容易,因爲他們都只是兩條線,但它更乾淨。他們都工作!現在如何使用一個打印語句獲得多個數據值「字段」?我到目前爲止所嘗試的一切都沒有奏效,但我對Python非常陌生。在20年以上沒有編寫任何代碼。 –
找出多個值,不知道是否最好的方法,但它的工作原理。 print(item ['timestamp']),(item ['id']),(item ['value']) –
您可以遍歷每個列表條目中的所有字典項目。我添加了一個例子。 –