Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python中的JSON数据创建列表和字典_Python_Json_List_Rest_Dictionary - Fatal编程技术网

从Python中的JSON数据创建列表和字典

从Python中的JSON数据创建列表和字典,python,json,list,rest,dictionary,Python,Json,List,Rest,Dictionary,我正在编写一个脚本,通过REST收集一些库存数据。然后我想过滤它,创建一个列表和两个字典,我可以在脚本的其他地方使用它们 例如,从以下方面: {'version': '0.0' 'response': [{'chassisType': 'C800', 'family': 'C897VA-K9', 'hostname': 'chaney-xtr', 'imageName': 'c800-universalk9-mz.SPA.154

我正在编写一个脚本,通过REST收集一些库存数据。然后我想过滤它,创建一个列表和两个字典,我可以在脚本的其他地方使用它们

例如,从以下方面:

{'version': '0.0'
 'response': [{'chassisType': 'C800',
           'family': 'C897VA-K9',
           'hostname': 'chaney-xtr',
           'imageName': 'c800-universalk9-mz.SPA.154-2.T.bin',
           'interfaceCount': '10',
           'lastUpdated': '2014-06-03 01:39:19.855491-07',
           'lineCardId': 'e5bddd56-2194-4b83-8ae5-597893800051',
           'macAddress': '88:5A:92:A4:E7:C8',
           'managementIpAddress': '192.168.2.1',
           'memorySize': '988236K/60339K',
           'networkDeviceId': 'e15789bd-47df-4df9-809f-daf81d15ff2a',
           'numUpdates': 1,
           'platformId': 'C897VA-K9',
           'portRange': 'ATM0, ATM0.1, BRI0, BRI0:1-2, Dialer1, Ethernet0, GigabitEthernet0-8, LISP0, Loopback0-1, NVI0, Virtual-Access1, Virtual-Template1, Vlan1',
           'role': 'Unknown',
           'roleSource': 'auto',
           'serialNumber': 'FGL175124DX',
           'softwareVersion': '15.4(2)T',
           'type': 'UNKNOWN',
           'upTime': '2 weeks, 3 days, 18 hours, 2 minutes',
           'vendor': 'Cisco'},
          {'chassisType': 'C800',
           'family': 'C897VA-K9',
           'hostname': 'chaney-xtr2',
           'imageName': 'c800-universalk9-mz.SPA.154-2.T.bin',
           'interfaceCount': '10',
           'lastUpdated': '2014-06-03 01:39:19.855491-07',
           'lineCardId': 'e5bddd56-2194-4b83-8ae5-597893800051',
           'macAddress': '88:5A:92:A4:E7:C8',
           'managementIpAddress': '192.168.2.2',
           'memorySize': '988236K/60339K',
           'networkDeviceId': 'e15789bd-47df-4df9-809f-daf81d15ff2a',
           'numUpdates': 1,
           'platformId': 'C897VA-K9',
           'portRange': 'ATM0, ATM0.1, BRI0, BRI0:1-2, Dialer1, Ethernet0, GigabitEthernet0-8, LISP0, Loopback0-1, NVI0, Virtual-Access1, Virtual-Template1, Vlan1',
           'role': 'Unknown',
           'roleSource': 'auto',
           'serialNumber': 'XGL175124D3',
           'softwareVersion': '15.4(2)T',
           'type': 'UNKNOWN',
           'upTime': '2 weeks, 3 days, 18 hours, 2 minutes',
           'vendor': 'Cisco'}],
 }
其中
“platformId”=“C897VA-K9”
我想从
管理IP地址创建一个IP地址列表

和两个使用IP地址作为密钥的字典

dict1 = {"managementIpAddress": "hostname"}
dict2 = {"managementIpAddress": "platformId"}
你打算怎么做

亲切问候,

瑞安

输出如下所示:

In[189]: dict1
Out[187]: {'192.168.2.1': 'chaney-xtr', '192.168.2.2': 'chaney-xtr2'}
In[190]: dict2
Out[188]: {'192.168.2.1': 'C897VA-K9', '192.168.2.2': 'C897VA-K9'}

如果这就是您要找的,如果您有任何问题,请告诉我。

您可以解析json数据,然后添加一些If和else案例来判断是否需要数据;然后使用eval语句生成dict

您尝试过哪些方法?您尝试过python文档吗?正如@cwallenpole提到的,你应该分享你到目前为止所做的尝试,以及你被困在哪里。哇!太快了。谢谢你,克丽珊,这很有帮助。对于那些提问的人,我发现Python文档很难理解,但是我在这个网站上找到了这个答案,这个答案也很有帮助:。如果您对它进行扩展并提供示例代码,您的答案会更清楚
In[189]: dict1
Out[187]: {'192.168.2.1': 'chaney-xtr', '192.168.2.2': 'chaney-xtr2'}
In[190]: dict2
Out[188]: {'192.168.2.1': 'C897VA-K9', '192.168.2.2': 'C897VA-K9'}