Python合并字典生成指定结构JSON 处理HTML表单返回JSON数据
现有矩阵结构的实现方法
你已经完成了表单JSON到8行3列矩阵的转换,直接按列遍历矩阵绑定字段即可生成目标结构,Python实现参考如下:
- 先定义和矩阵行顺序一一对应的固定字段列表
- 遍历3列数据,每列生成一个对象,将字段和对应行的列值绑定
- 把生成的3个对象存入数组后导出为JSON文件
import json # 字段顺序和矩阵行顺序严格对应 FIELD_ORDER = ["Header", "Line_01", "Line_02", "Line_03", "Line_04", "Line_05", "Line_06", "Line_07"] # 替换为你实际生成的8行3列二维矩阵 form_matrix = [ ["头部值1", "头部值2", "头部值3"], ["第一行值1", "第一行值2", "第一行值3"], # 剩余Line_02到Line_07对应的行数据... ] target_arr = [] # 遍历3列,每列对应一个目标对象 for col_index in range(3): current_item = {} for row_index, field_name in enumerate(FIELD_ORDER): current_item[field_name] = form_matrix[row_index][col_index] target_arr.append(current_item) # 导出为JSON文件 with open("form_output.json", "w", encoding="utf-8") as f: json.dump(target_arr, f, ensure_ascii=False, indent=2)
注意:必须保证矩阵行的顺序和
FIELD_ORDER的字段顺序完全一致,否则会出现字段和值不匹配的问题
更优处理方案
可以跳过二维矩阵的中间转换步骤,直接从原始表单JSON生成目标结构,适配性更高、出错概率更低:
- 减少中间转换的内存开销,数据量大时性能优势明显
- 字段映射关系更直观,避免行列顺序错配的隐性bug
- 后续字段调整只需修改字段列表,维护成本更低
如果原始表单的字段命名按分组带后缀(比如Header_1、Line_01_2),参考实现如下:
import json FIELD_ORDER = ["Header", "Line_01", "Line_02", "Line_03", "Line_04", "Line_05", "Line_06", "Line_07"] # 替换为你从HTML表单读取的原始JSON数据 raw_form_data = { "Header_1": "头部1", "Line_01_1": "行1-1", "Line_07_1": "行7-1", "Header_2": "头部2", "Line_01_2": "行1-2", "Line_07_2": "行7-2", "Header_3": "头部3", "Line_01_3": "行1-3", "Line_07_3": "行7-3", } target_arr = [] for group_num in range(1, 4): current_item = {field: raw_form_data[f"{field}_{group_num}"] for field in FIELD_ORDER} target_arr.append(current_item) with open("form_output.json", "w", encoding="utf-8") as f: json.dump(target_arr, f, ensure_ascii=False, indent=2)
内容的提问来源于stack exchange,提问作者user6304394
相关产品推荐
相关产品推荐

