2017-07-12 3 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つしかないということです。

答えて

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

コードはまだ属性名 'レコード'に依存していませんか?私はそれを誤解しましたか? –

+0

「レコード」ではなく「レコード」に依存しています。あなたは何でもそれを変更することができます – Rahul

+0

@AndyDufresne:編集 – Rahul

関連する問題