读取嵌套在多个级别中的JSON可以通过递归或者使用点操作符来实现。以下是两种常用的方法:
def get_value(json_obj, key):
if key in json_obj:
return json_obj[key]
else:
for k, v in json_obj.items():
if isinstance(v, dict):
result = get_value(v, key)
if result is not None:
return result
使用该函数可以读取嵌套在多个级别中的JSON。例如,假设我们有以下JSON对象:
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"country": "USA"
}
}
我们可以使用以下代码来读取嵌套的值:
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"country": "USA"
}
}
street = get_value(json_obj, "street")
print(street) # 输出:123 Main St
json_obj = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"country": "USA"
}
}
street = json_obj["address"]["street"]
print(street) # 输出:123 Main St
使用点操作符方法时,需要确保每个键都存在于JSON对象中,否则会引发KeyError异常。
以上是读取嵌套在多个级别中的JSON的两种常用方法。根据实际情况选择适合的方法来处理JSON数据。
领取专属 10元无门槛券
手把手带您无忧上云