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

如何使用Karate API Framework动态构建指定结构的JSON数据

动态构建目标JSON结构的实现方法

你给出的JSON核心包含两个字段:数组类型的recommendedAssociations、字符串类型的recommendationMsg。其中数组内的每一项公共字段为StudentId,机构ID、状态的字段名会随业务场景变化,动态构建时可按需给对应字段赋值即可,以下是两种常用开发语言的实现示例:

1. Python 实现

  • 先初始化基础结构,逐条追加数组元素后序列化即可
import json

# 初始化JSON基础结构
result = {
    "recommendedAssociations": [],
    "recommendationMsg": "Student Acceptance"
}

# 模拟从业务侧获取的原始数据,可替换为数据库/接口返回的真实数据
origin_data = [
    {"StudentId": "PIP21|23455", "org_id": "23331", "status": "ACCEPT", "org_field": "SchoolID", "status_field": "Status"},
    {"StudentId": "DLO14|44445", "org_id": "23331", "status": "ACCEPT", "org_field": "SchoolId", "status_field": "feedbackStatus"},
    {"StudentId": "DEF66|43432", "org_id": "2331", "status": "ACCEPT", "org_field": "SchoolId", "status_field": "feedbackStatus"},
    {"StudentId": "334|11123", "org_id": "2331", "status": "REJECT", "org_field": "customerOrganizationIdentifier", "status_field": "feedbackStatus"},
]

# 动态填充关联数组
for item in origin_data:
    association = {"StudentId": item["StudentId"]}
    # 按业务规则动态赋值字段
    association[item["org_field"]] = item["org_id"]
    association[item["status_field"]] = item["status"]
    result["recommendedAssociations"].append(association)

# 转成标准JSON字符串
json_result = json.dumps(result, indent=4, ensure_ascii=False)
print(json_result)

2. JavaScript 实现

  • 实现逻辑和Python一致,动态构造对象后序列化即可
// 初始化JSON基础结构
const result = {
    recommendedAssociations: [],
    recommendationMsg: "Student Acceptance"
}

// 模拟业务侧原始数据,可替换为实际业务数据
const originData = [
    {StudentId: "PIP21|23455", orgId: "23331", status: "ACCEPT", orgField: "SchoolID", statusField: "Status"},
    {StudentId: "DLO14|44445", orgId: "23331", status: "ACCEPT", orgField: "SchoolId", statusField: "feedbackStatus"},
    {StudentId: "DEF66|43432", orgId: "2331", status: "ACCEPT", orgField: "SchoolId", statusField: "feedbackStatus"},
    {StudentId: "334|11123", orgId: "2331", status: "REJECT", orgField: "customerOrganizationIdentifier", statusField: "feedbackStatus"},
]

// 动态填充关联数组
originData.forEach(item => {
    const association = {StudentId: item.StudentId}
    association[item.orgField] = item.orgId
    association[item.statusField] = item.status
    result.recommendedAssociations.push(association)
})

// 转成标准JSON字符串
const jsonResult = JSON.stringify(result, null, 4)
console.log(jsonResult)

其他编程语言的实现逻辑完全一致,核心都是先构造基础对象,再按业务规则动态填充数组元素,最后序列化为JSON格式即可。

内容的提问来源于stack exchange,提问作者Alexander the Great

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:57:01