嵌套JSON是指在一个JSON对象中包含另一个或多个JSON对象的情况。例如:
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"zipcode": "12345"
},
"contacts": [
{
"type": "email",
"value": "john@example.com"
},
{
"type": "phone",
"value": "555-1234"
}
]
}
在这个例子中,address
和contacts
都是嵌套的JSON对象。
处理嵌套JSON的优势在于能够表示复杂的数据结构,使得数据的存储和传输更加灵活和高效。
嵌套JSON可以是对象(键值对集合)或数组(有序的值集合)。
嵌套JSON广泛应用于API响应、配置文件、数据存储等领域。
假设我们需要遍历上述JSON中的所有值,包括嵌套的值。我们可以使用递归函数来实现这一点。
import json
# 示例嵌套JSON
nested_json = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"zipcode": "12345"
},
"contacts": [
{
"type": "email",
"value": "john@example.com"
},
{
"type": "phone",
"value": "555-1234"
}
]
}
def iterate_nested_json(data):
if isinstance(data, dict):
for key, value in data.items():
if isinstance(value, (dict, list)):
iterate_nested_json(value)
else:
print(f"{key}: {value}")
elif isinstance(data, list):
for item in data:
iterate_nested_json(item)
# 调用函数
iterate_nested_json(nested_json)
iterate_nested_json
函数会检查传入的数据类型。通过这种方式,我们可以有效地遍历和处理嵌套JSON中的所有值。
领取专属 10元无门槛券
手把手带您无忧上云