Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để lặp qua tệp JSON có nhiều khóa / khóa phụ bằng Python?


Bạn có thể phân tích cú pháp tệp JSON bằng mô-đun json trong Python. Mô-đun này phân tích cú pháp json và đặt nó trong một câu lệnh. Sau đó, bạn có thể nhận các giá trị từ điều này giống như một mệnh đề bình thường. Ví dụ:nếu bạn có một json với nội dung sau -

{
   "id": "file",
   "value": "File",
   "popup": {
      "menuitem": [
         {"value": "New", "onclick": "CreateNewDoc()"},
         {"value": "Open", "onclick": "OpenDoc()"},
         {"value": "Close", "onclick": "CloseDoc()"}
      ]
   }
}

Ví dụ

Bạn có thể tải nó trong chương trình python của mình và lặp lại các khóa của nó theo cách sau -

import json
f = open('data.json')
data = json.load(f)
f.close()

# Bây giờ bạn có thể sử dụng dữ liệu như một chính tả thông thường -

for (k, v) in data.items():
   print("Key: " + k)
   print("Value: " + str(v))

Đầu ra

Điều này sẽ cung cấp đầu ra -

Key: id
Value: file
Key: value
Value: File
Key: popup
Value: {'menuitem': [{'value': 'New', 'onclick': 'CreateNewDoc()'}, {'value': 'Open', 'onclick': 'OpenDoc()'}, {'value': 'Close', 'onclick': 'CloseDoc()'}]}

Nếu bạn cũng muốn lặp lại qua các giá trị phụ, bạn phải viết một hàm đệ quy có thể lặp lại qua dict dạng cây này.