在我們日常的編程過程中,經常需要從復雜的JSON數據中提取出需要的節點,這就需要用到json抽取節點的技術。
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常用于傳輸和存儲結構化的數據。而在JSON中,我們可以用類似XPath的方法提取到不同的節點數據。
下面是一段JSON數據:
{ "name": "Tom", "age": 18, "address": { "province": "Shandong", "city": "Jinan" }, "education": [ { "school": "Shandong University", "major": "Computer Science", "degree": "Bachelor" }, { "school": "Peking University", "major": "Artificial Intelligence", "degree": "Master" } ] }
如果我們想要獲取到該JSON中的“name”節點信息,我們可以使用以下代碼:
import json data = '{"name": "Tom", "age": 18, "address": {"province": "Shandong", "city": "Jinan"}, "education": [{"school": "Shandong University", "major": "Computer Science","degree": "Bachelor"},{"school": "Peking University","major": "Artificial Intelligence","degree": "Master"}]}' json_data = json.loads(data) name = json_data['name'] print(name)
運行后,我們就可以得到“Tom”這個結果。
如果我們想獲取到“address”節點中的“city”信息,可以使用以下的代碼:
address = json_data['address'] city = address['city'] print(city)
運行后,我們就可以得到“Jinan”這個結果。
對于嵌套的節點,我們需要一層一層地遞歸下去,如獲取“education”節點中的信息,可以使用如下代碼:
education = json_data['education'] for e in education: print(e['school'], e['major'], e['degree'])
運行后,我們就可以得到以下的結果:
Shandong University Computer Science Bachelor Peking University Artificial Intelligence Master
通過以上的代碼實現,可以讓我們更加便捷地獲取到需要的節點信息,從而更加高效地進行編程。
上一篇json抽象語法樹