如何使用python从Json列表中获取数据?

如何使用python从Json列表中获取数据?,python,json,Python,Json,我是python新手,曾尝试从python json文档中获取数据,我尝试将信息传递给python,并从python中获取json打印一个带有表样式的pdf。 我的json代码是 [ { "files": 0, "data": [ {"name": "RFC", "value": "XXXXXXX", "attId": 01}, {"name": "NOMBRE", "value": "JOSE", "a

我是python新手,曾尝试从python json文档中获取数据,我尝试将信息传递给python,并从python中获取json打印一个带有表样式的pdf。 我的json代码是

[
    {
        "files": 0, 
        "data": [
            {"name": "RFC", "value": "XXXXXXX", "attId": 01}, 
            {"name": "NOMBRE", "value": "JOSE", "attId": 02}, 
            {"name": "APELLIDO PATERNO", "value": "MONTIEL", "attId": 03}, 
            {"name": "APELLIDO MATERNO", "value": "MENDOZA", "attId": 04}, 
            {"name": "FECHA NACIMIENTO", "value": "1989-02-04", "attId": 05}
        ], 
        "dirId": 1, 
        "docId": 4, 
        "structure": {
            "name": "personales", 
            "folioId": 22
        }
    }, 
    {
        "files": 0, 
        "data": [
            {"name": "CALLE", "value": "AMOR", "attId": 06}, 
            {"name": "No. EXTERIOR", "value": "4", "attId": 07}, 
            {"name": "No. INTERIOR", "value": "2", "attId": 08}, 
            {"name": "C.P.", "value": "55060", "attId": 09}, 
            {"name": "ENTIDAD", "value": "ESTADO DE MEXICO", "attId": 10}, 
            {"name": "MUNICIPIO", "value": "ECATEPEC", "attId": 11}, 
            {"name": "COLONIA", "value": "INDUSTRIAL", "attId": 12}
            ], 
        "dirId": 1, 
        "docId": 4, 
        "structure": {
            "name": "direccion", 
            "folioId": 22
        }
    }
]
在python中,我将介绍下一个代码

import json
f= open(prueba.json)
prueba = json.load(f)
prueba
正确打印json的内容,但我的想法是仅获取示例:

Nombre,Jose
然后使用参数以pdf格式构建表

我试过以下方法

 import json
 json_data = []
 with open('prueba.json') as json_file:
     json_data = json.load(json_file)
 for key, value in json_data.iteritems():
   print key; 
   for item in value: 
      print item 
      for key, value in json_data.iteritems(): 
         print key; 
         for item in value: 
            print item
但我有下一个错误:

    AttributeError : 'list' object has no attribute 'iteritems'
我正试图为他们做点什么,但我必须获得json的每个数据

json_data = [] # your list with json objects (dicts)

for item in json_data:
    for data_item in item['data']:
        print data_item['name'], data_item['value']
for key, value in json_data.iteritems():
    print key
    if isinstance(value, (list, tuple)):
        for item in value: 
            print item
    if isinstance(value, (dict)):
        for value_key,value_value in value.iteritems(): 
            print value_key,str(value_value)

可以改进以管理更多类型,并且可以使其递归。

“仅获取示例”。请更详细地描述要从JSON文件中提取哪些数据,以及如何输出这些数据。请回答您的问题,并提供一个小样本,说明输出应该是什么样子。什么是
json_数据
?这是因为
json_数据
是一个列表,而不是一个字典。您的json代码无效。当我尝试
json.load(json_文件)
时,我得到一个
ValueError:Expecting,delimiter:line 5 column 59(char 104)
。json代码的问题是整数不能有前导零-就像示例中的
“attId”
一样-请参阅json.org的语法图。我有de next error Traceback(最后一次调用):文件“prueba.py”,第5行,json_data=json.load(json_文件)文件“C:\Python27\lib\json_init_.py”,第290行,加载**kw)文件“C:\Python27\lib\json_init_.py”,第338行,加载返回默认_解码器。解码文件“C:\Python27\errlib\json\decoder.py”,第368行,解码提升值错误(msg)(“额外数据”,s,end,len(s)))value错误:额外数据:第53行第1列-第53行第2列(char 1736-1737)您是否按照帖子中所示加载json文件?如果是,您可以提供json文件吗?您可以发布其内容(或部分内容)例如,对于Pastebin,再考虑一下,您的json是无效的。您的值是
06
而不是
6
。您必须首先解决这个问题。您可以使用Yes验证json,因为数字中的前导零无效。如果数字以0开头,它将被解释为,或以8为基数。八进制仅使用数字from 0到7。因此,它在
08
09
时失败。但我们如何修复它?…另一个问题我与reportlab合作过,但我不知道,因为我可以在表(PDF)中加载此信息。我得到了相同的错误属性错误:“列表”对象没有属性“iteritems”