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

删除JSON中integerFields键并保留其内部键值对的技术需求

扁平化JSON节点,将integerFields内部键值对提升到dataSet层级

问题示例

原始JSON结构:

{
  "dataSet": {
    "integerFields": {
      "patient_display_id": "1",
      "ehmrn": "123",
      "enctrid": "456"
    },
     "DecimalFields": {
      "class": "1",
      "section": "123",
      "enctrid": "456"
    }
  }
}

需求说明

删除integerFields外层键,将其内部所有键值对直接移至dataSet层级下,同时保留DecimalFields原有结构,最终得到目标JSON:

{
  "dataSet": {
      "patient_display_id": "1",
      "ehmrn": "123",
      "enctrid": "456",
      "DecimalFields": {
      "class": "1",
      "section": "123",
      "enctrid": "456"
    }
  }
}

解决方案

JavaScript实现

const originalData = {
  "dataSet": {
    "integerFields": {
      "patient_display_id": "1",
      "ehmrn": "123",
      "enctrid": "456"
    },
     "DecimalFields": {
      "class": "1",
      "section": "123",
      "enctrid": "456"
    }
  }
};

// 解构提取integerFields和dataSet其余内容
const { integerFields, ...restOfDataSet } = originalData.dataSet;
// 合并内容生成新结构
const transformedData = {
  dataSet: {
    ...integerFields,
    ...restOfDataSet
  }
};

// 输出格式化结果
console.log(JSON.stringify(transformedData, null, 2));

Python实现

import json

# 原始JSON字符串
original_json_str = '''{
  "dataSet": {
    "integerFields": {
      "patient_display_id": "1",
      "ehmrn": "123",
      "enctrid": "456"
    },
     "DecimalFields": {
      "class": "1",
      "section": "123",
      "enctrid": "456"
    }
  }
}'''

# 解析JSON为字典
data = json.loads(original_json_str)
data_set = data["dataSet"]

# 取出integerFields内容并删除该键
integer_fields = data_set.pop("integerFields")
# 将integerFields键值对合并到dataSet中
data_set.update(integer_fields)

# 输出格式化后的JSON
print(json.dumps(data, indent=2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:07:30