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

JSON字段处理:合并cityId与regionId为cities并调整结构

JSON数据转换:合并字段、重命名与清理

针对你给出的JSON数据转换需求,这里提供JavaScript的实现方案,直接处理得到目标结构:

实现代码

const originalData = [
  {
    "taskId": 26,
    "adsName": "test name 5",
    "cityId": 2,
    "regionId": 46,
    "biddingPrice": 50,
    "limit": 140
  },
  {
    "taskId": 27,
    "adsName": "test name 6",
    "cityId": 5,
    "regionId": null,
    "biddingPrice": 60,
    "limit": 150
  },
  {
    "taskId": 28,
    "adsName": "test name 7",
    "cityId": null,
    "regionId": 224,
    "biddingPrice": 60,
    "limit": 150
  }
];

const transformedData = originalData.map(item => {
  const citiesSegments = [];
  // 处理cityId,非null则加入
  if (item.cityId !== null) {
    citiesSegments.push(item.cityId.toString());
  }
  // 处理regionId,非null则转为负数后加入
  if (item.regionId !== null) {
    citiesSegments.push((-item.regionId).toString());
  }
  // 返回目标结构
  return {
    name: item.adsName,
    all_limit: item.limit,
    cities: citiesSegments.join(', ')
  };
});

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

代码说明

  1. 遍历转换:使用数组的map方法逐个处理原数据中的每个对象,生成新的目标对象
  2. 合并cities字段:
    • 初始化数组收集有效标识,忽略null值
    • 对regionId统一取负数后转为字符串,保证格式符合要求
    • 用, 拼接数组元素,得到最终的cities字符串
  3. 字段重命名与清理:直接返回包含name(原adsName)、all_limit(原limit)和cities的新对象,自动丢弃taskId、biddingPrice等无关字段

执行上述代码后,输出的JSON结构完全符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:25:29