用python取json中所有不包含子节点的元素的值
时间: 2024-04-30 10:17:30 浏览: 99
可以使用递归函数来实现,判断一个元素是否是最底层子节点可以通过判断该元素是否还有子元素来实现。代码示例如下:
```python
import json
def get_leaf_values(json_data):
leaf_values = []
if isinstance(json_data, dict):
for key, value in json_data.items():
if isinstance(value, (dict, list)):
leaf_values.extend(get_leaf_values(value))
else:
leaf_values.append(value)
elif isinstance(json_data, list):
for item in json_data:
if isinstance(item, (dict, list)):
leaf_values.extend(get_leaf_values(item))
else:
leaf_values.append(item)
return leaf_values
json_data = '{"key1": {"key2": {"key3": "value1", "key4": "value2"}}, "key5": "value3"}'
data = json.loads(json_data)
leaf_values = get_leaf_values(data)
print(leaf_values)
```
运行结果:['value1', 'value2', 'value3']
此代码可以解析任意嵌套层级的json,获取所有不包含子节点的元素的值。
阅读全文