重塑嵌套的JSON数据可以通过以下步骤实现:
以下是一个示例代码,展示了如何使用Python中的json模块重塑嵌套的JSON数据:
import json
def reshape_json(json_data):
reshaped_data = {} # 创建一个新的数据结构,用于存储重塑后的JSON数据
def reshape_helper(data, prefix=''):
if isinstance(data, dict):
for key, value in data.items():
new_key = prefix + key # 可以更改键的名称,添加前缀等
reshape_helper(value, new_key + '_') # 递归处理嵌套的字典
elif isinstance(data, list):
for index, item in enumerate(data):
new_key = prefix + str(index) # 可以更改键的名称,使用索引等
reshape_helper(item, new_key + '_') # 递归处理嵌套的列表
else:
reshaped_data[prefix[:-1]] = data # 将处理后的键值对放入新的数据结构中
reshape_helper(json_data)
return json.dumps(reshaped_data) # 将重塑后的数据结构转换为JSON字符串
# 示例用法
original_json = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"hobbies": ["reading", "traveling"]
}
reshaped_json = reshape_json(original_json)
print(reshaped_json)
以上代码将会输出重塑后的JSON数据:
{
"name": "John",
"age": 30,
"address_street": "123 Main St",
"address_city": "New York",
"hobbies_0": "reading",
"hobbies_1": "traveling"
}
这个重塑后的JSON数据将原始数据中的嵌套结构展开,并使用下划线连接原始键的名称和层级。
领取专属 10元无门槛券
手把手带您无忧上云