在Python中,可以使用递归函数来按级别对JSON数据进行规范化。下面是一个示例代码:
def normalize_json(json_data, level=0):
# 如果是字典类型,则对每个键值对进行递归处理
if isinstance(json_data, dict):
normalized_data = {}
for key, value in json_data.items():
normalized_data[key] = normalize_json(value, level+1)
return normalized_data
# 如果是列表类型,则对列表中的每个元素进行递归处理
elif isinstance(json_data, list):
normalized_data = []
for item in json_data:
normalized_data.append(normalize_json(item, level+1))
return normalized_data
# 如果是其他数据类型,则直接返回该值
else:
return json_data
# 示例数据
json_data = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"friends": [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 35}
]
}
# 规范化JSON数据
normalized_json = normalize_json(json_data)
# 打印规范化后的JSON数据
import json
print(json.dumps(normalized_json, indent=4))
运行以上代码,将会输出规范化后的JSON数据:
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"friends": [
{
"name": "Alice",
"age": 25
},
{
"name": "Bob",
"age": 35
}
]
}
通过递归函数,我们可以对JSON数据进行规范化,确保每个级别的数据都以相同的方式处理。
上一篇:按驾驶距离排序的Doctrine