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

如何创建含动态JSON记录的DataFrame或列表?Rest-API插入需求

如何生成包含动态JSON记录的列表用于Rest-API插入?

我需要创建包含动态JSON记录的列表,后续通过Rest-API插入数据,但现有代码无法实现目标。

原代码:

data_collect = df_res.collect()

for row in data_collect:
  v_id_person = '"' + row["Id"] + '"' 
  i= 1
  data[i] = """{
    "resourceType" : "Example",
    "identifier" : [{ 
            "use" : "official", 
             {
                    "system": "https://example/identif",
                    "code": "CC"
                }
            ] }, 
            "value" : """ +    str(v_id_person)   + """
    } """
  i = i + 1

display(data)

期望效果:

display(data)
row[1] = {"resourceType" : "Example", "identifier" : [{ ... "value": "5412"}
row[2] = {"resourceType" : "Example", "identifier" : [{ ... "value": "432"}
row[3] = {"resourceType" : "Example", "identifier" : [{ ... "value": "1112"}
...
row[n] = {"resourceType" : "Example", "identifier" : [{ ... "value": v_id_person}

问题分析

原代码的核心问题:

  • 计数器重置:循环内每次将i设为1,导致所有记录都覆盖data[1],无法生成多条记录
  • JSON语法错误:手动拼接的JSON存在结构缺陷,比如identifier数组内的嵌套对象缺少键名、value位置错误
  • 字符串拼接风险:直接拼接JSON字符串极易出现引号不匹配、括号遗漏等问题,难以排查和维护

修正后的代码

推荐用Python字典构造合法结构,再按需转为JSON字符串(适配API要求),既保证语法正确又易于维护:

import json

# 初始化空列表存储结果
data = []

data_collect = df_res.collect()

for row in data_collect:
    # 获取Id值,无需手动加引号,字典会自动处理字符串类型
    v_id_person = row["Id"]
    # 构造符合规范的字典结构
    record = {
        "resourceType": "Example",
        "identifier": [
            {
                "use": "official",
                "type": {  # 补充原代码缺失的键名,修复JSON结构
                    "system": "https://example/identif",
                    "code": "CC"
                },
                "value": str(v_id_person)  # 将Id转为字符串存入指定字段
            }
        ]
    }
    # 将每条记录追加到列表
    data.append(record)

# 若API要求传入JSON字符串,可执行序列化
# json_data = [json.dumps(item) for item in data]

display(data)

说明

  1. 用字典替代字符串拼接:Python字典与JSON结构天然对应,彻底避免手动拼接的语法错误
  2. 列表追加记录:通过append()自动按顺序添加每条记录,无需手动维护索引
  3. 修复JSON结构:补充原代码缺失的type键,确保嵌套对象符合JSON规范
  4. 可选序列化:如果Rest-API需要JSON字符串格式,用json.dumps()将字典转为字符串即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:31:14