You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将多维列表元素保存为嵌套JSON

解决动态多维列表转指定嵌套JSON的问题

没问题,这事儿用Python很容易搞定,不管你的算法生成多少个子列表,都能轻松转换成你要的JSON格式。我给你写个完整的实现示例,再拆解下逻辑:

核心思路

你的需求本质是遍历动态数量的子列表,将每个子列表的元素映射到指定的JSON字段:

  • 外层JSON固定包含id和Values两个字段
  • Values是一个数组,每个元素对应输入里的一个子列表:
    • 子列表第一个元素 → Name字段
    • 子列表第二/三/四个元素 → X/Y/Z字段

完整代码示例

import json

# 这里替换成你算法生成的动态多维列表
input_list = [ ['Name1','5','6','7'], ['Name2','3','8','5'], ['Name3','9','2','4'] ]

# 初始化目标JSON结构
target_json = {
    "id": "id",  # 如果需要动态生成id,可以替换成逻辑,比如uuid.uuid4().hex
    "Values": []
}

# 遍历每个子列表,转换为Values中的对象
for sub_list in input_list:
    # 确保子列表格式符合要求(名称+3个数值),避免索引错误
    if len(sub_list) == 4:
        value_item = {
            "Name": sub_list[0],
            "X": sub_list[1],
            "Y": sub_list[2],
            "Z": sub_list[3]
        }
        target_json["Values"].append(value_item)

# 序列化为格式化的JSON字符串(indent=4让输出更易读)
output_json_str = json.dumps(target_json, indent=4)
print(output_json_str)

代码说明

  1. 导入json模块:Python标准库自带,用来完成Python字典和JSON字符串的转换
  2. 输入列表:input_list就是你算法生成的动态多维列表,不管有多少个子列表都能处理
  3. 初始化目标结构:先搭好外层的JSON框架,Values初始化为空数组,后续逐个添加元素
  4. 遍历转换:循环每个子列表,把元素对应到指定字段,再添加到Values数组里;加了len(sub_list) ==4的判断,避免如果子列表格式异常时出现索引错误
  5. 序列化输出:json.dumps()把Python字典转成JSON字符串,indent=4是为了让输出排版更美观,不需要的话可以删掉这个参数

运行这段代码后,输出的JSON格式完全符合你的要求,哪怕输入有10个甚至更多子列表也能正常处理。

内容的提问来源于stack exchange,提问作者S Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:40:54