python提取json多级下的字段
时间: 2024-12-22 22:16:09 浏览: 4
在Python中,如果你有一个包含多级嵌套的JSON数据结构,并想要提取特定字段,你可以使用`json`模块以及递归的方式来访问和获取这些值。这里有一段示例代码来说明如何操作:
```python
import json
def extract_field(json_data, field_path):
def _extract(data, path):
if not path or not data:
return data
key, *rest = path.split('.')
return _extract(data.get(key), '.'.join(rest)) if isinstance(data, dict) else None
# 假设你有如下的JSON数据
json_string = """
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
}
}
"""
# 将字符串转换成字典
data_dict = json.loads(json_string)
# 使用递归函数提取指定路径的字段
result = _extract(data_dict, field_path)
return result
# 测试提取"address.street"
field_to_extract = "address.street"
print(extract_field(data_dict, field_to_extract))
阅读全文