Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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_Python 3.x - Fatal编程技术网

Python 从json获取数据

Python 从json获取数据,python,json,python-3.x,Python,Json,Python 3.x,我想从json获取数据。我有一个访问所有级别的循环的想法。 我只能从单个块中提取数据 print(output['body']['data'][0]['list'][0]['outUcastPkts']) 如何获取其他数据 import json,urllib.request data = urllib.request.urlopen("http://172.0.0.0/statistic").read() output = json.loads(data) for e

我想从json获取数据。我有一个访问所有级别的循环的想法。 我只能从单个块中提取数据

print(output['body']['data'][0]['list'][0]['outUcastPkts'])
如何获取其他数据

import json,urllib.request

data = urllib.request.urlopen("http://172.0.0.0/statistic").read()
output = json.loads(data)

for elt in output['body']['data']:
    print(output['body']['data'][0]['inUcastPktsAll'])
    for elt in output['list']:
        print(output['body']['data'][0]['list'][0]['outUcastPkts'])
如果键不存在,“.get()”方法将返回None。

在python中,您可以轻松地迭代列表中的对象,如下所示:

>>> l = [1, 2, 3, 7]
>>> for elem in l:
...     print(elem)
...
1
2
3
7
这与列表中的对象(整数、元组、字典)的类型有关。考虑到这一点,您的解决方案已经不远了,您只需做以下更改:

对于输出['body']['data']中的条目:
打印(条目['inUcastPktsAll'])
对于条目['list']中的list_元素:
打印(列表元素['outUcastPkts'])
这将为您提供的json对象提供以下信息:

3100617019
117427359
0
8269483865
3101012296
0

其他数据是什么意思?
output = json.loads(data)              #Type of output is a dictionary.
                                       #Try to use ".get()" method.
print(output.get('body'))              #Get values of key 'body'
print(output.get('body').get('data'))  #Get a list of key 'data' 
>>> l = [1, 2, 3, 7]
>>> for elem in l:
...     print(elem)
...
1
2
3
7