2017-07-12 46 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

相關問題