2017-07-12 48 views
0

我是python的新手,我想了解如何在不引用其名称的情况下访问json对象中的数组。在不访问名称的情况下在python中访问json数组

给定JSON对象具有以下结构

import json 

input_json = { 
    "records": [ 
     { 
      "values": { 
       "col1": "1" 
      }, 
      "no": 1, 
     }, 
     { 
      "values": { 
       "col1": "2" 
      }, 
      "no": 2, 
     } 
    ], 
    "number_of_records": 2 
} 

myVar = json.load(input_json) 
for i in myVar['records']:   # How do I replace this line? 
     print i['values']['col1'] 

我需要遍历对象的记录'阵列的内部。如何在不使用myVar ['records']的情况下获取数组?

请注意,代码也不能依赖于json属性的顺序。唯一保证的是json字符串只有一个数组。

回答

1
input_json = { 
    "records": [ 
     { 
      "values": { 
       "col1": "1" 
      }, 
      "no": 1, 
     }, 
     { 
      "values": { 
       "col1": "2" 
      }, 
      "no": 2, 
     } 
    ], 
    "number_of_records": 2 
} 

for anything in input_json: 
    if isinstance(input_json[anything], list): 
     for values in input_json[anything]: 
      print(values['values']['col1']) 

如果您不知道“值”和“col1”名称,您还可以进一步嵌套for循环。

+0

代码仍然依赖于属性名称'records'吗?我误解了吗? –

+0

它不依赖'记录'而是'记录'。您可以将其更改为任何形式 – Rahul

+0

@AndyDufresne:查看编辑 – Rahul

相关问题