json中有復(fù)雜的嵌套如何解析

小億
133
2023-08-25 17:30:47

要解析復(fù)雜嵌套的JSON,可以使用遞歸的方式來(lái)處理。以下是一個(gè)簡(jiǎn)單的Python示例,演示如何解析具有復(fù)雜嵌套的JSON數(shù)據(jù):

import json
def parse_json(data):
if isinstance(data, dict):  # 處理字典類(lèi)型
for key, value in data.items():
print(key, value)
parse_json(value)
elif isinstance(data, list):  # 處理列表類(lèi)型
for item in data:
parse_json(item)
else:  # 處理其他類(lèi)型(字符串、整數(shù)等)
print(data)
# JSON數(shù)據(jù)
json_data = '{"name": "John", "age": 30, "city": "New York", "friends": [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 35}]}'
# 解析JSON
parsed_data = json.loads(json_data)
# 調(diào)用解析函數(shù)
parse_json(parsed_data)

在上述示例中,parse_json函數(shù)遞歸地遍歷JSON數(shù)據(jù),并根據(jù)數(shù)據(jù)類(lèi)型進(jìn)行不同的處理。如果數(shù)據(jù)是字典類(lèi)型,則遍歷字典的鍵值對(duì),并遞歸調(diào)用parse_json函數(shù)處理值。如果數(shù)據(jù)是列表類(lèi)型,則遍歷列表的每個(gè)元素,并遞歸調(diào)用parse_json函數(shù)處理元素。對(duì)于其他類(lèi)型的數(shù)據(jù)(如字符串、整數(shù)等),直接打印該數(shù)據(jù)。

你可以根據(jù)具體的需求,在parse_json函數(shù)中添加適當(dāng)?shù)奶幚磉壿?,例如將?shù)據(jù)存儲(chǔ)到變量中、進(jìn)行計(jì)算等。

0