Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีวนลูปผ่านไฟล์ JSON ที่มีหลาย keys/sub-keys ใน Python

คุณสามารถ parse ไฟล์ JSON ได้ด้วยโมดูล json ใน Python โมดูลนี้จะ parse JSON และใส่ไว้ใน dict คุณสามารถเข้าถึงค่าได้เหมือน dict ปกติ ตัวอย่างเช่น หากมี JSON ดังนี้

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

ตัวอย่าง

โหลดในโปรแกรม Python และวนลูป keys ดังนี้

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

# ตอนนี้ใช้ data เป็น dict ปกติ
for (k, v) in data.items():
    print("Key: " + k)
    print("Value: " + str(v))

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้

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

หากต้องการวนลูป sub-values ด้วย จะต้องเขียน recursive function ที่วนลูปผ่าน dict แบบ tree-like นี้