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

如何将嵌套JSON数组转换为扁平化数组?

解决方案:将嵌套JSON转换为按产品分组的数组

修改思路

无需对properties做嵌套遍历,针对每个产品,先构建包含订单ID、创建时间、产品名称的基础数组,再将该产品所有属性的value值依次追加到数组末尾,确保每个产品对应一行数据。

修改后的代码

var response = UrlFetchApp.fetch(url, options);
var dataAll = JSON.parse(response.getContentText());
var dataSet = dataAll.data;
var rows = [];

dataSet.forEach((order) => {
  order.products.forEach((product) => {
    // 提取当前产品的所有属性值
    const propertyValues = product.properties.map(prop => prop.value);
    // 合并基础信息与属性值,推入结果数组
    rows.push([order.id, order.created_at, product.name, ...propertyValues]);
  });
});

console.log(rows);

代码说明

  1. 用map遍历产品的properties,仅提取每个属性的value,得到纯值数组(如['blue', '1'])。
  2. 通过扩展运算符...将属性值数组展开,合并到基础信息数组中,形成完整的一行数据。
  3. 每个产品仅执行一次push操作,保证一行对应一个产品。

最终输出结果

[ 659, '2023-01-13T06:35:08.000000Z', '532', 'blue', '1' ],
[ 658, '2023-01-12T21:36:06.000000Z', '532', 'khaki', '2' ],
[ 656, '2023-01-11T17:19:42.000000Z', '2245/442', 'gray', 'fleece', '2' ],
[ 655, '2023-01-10T21:56:51.000000Z', '298/426-2', 'blue', 'footer', '4' ],
[ 655, '2023-01-10T21:56:51.000000Z', '257/426', 'mint', 'footer', '4' ]

内容的提问来源于stack exchange,提问作者Олег Дрогуль

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:10:28