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

如何将嵌套JSON扁平化,提取shellfish等字段的name属性作为字段值

问题解决实现方案

你需要的是将指定嵌套字段的name属性提取为字段值,可通过数组map+字段遍历的方式实现,代码示例如下(JavaScript实现):

// 定义需要提取name值的字段列表
const targetFields = ['shellfish', 'grade_list', 'stock_type']
// rawData为你的原始JSON数据
const processedResult = {
  data: rawData.data.map(item => {
    // 浅拷贝原对象,避免修改原始数据
    const processedItem = {...item}
    targetFields.forEach(field => {
      // 增加字段存在判断,避免报错
      if(processedItem[field]?.name !== undefined) {
        processedItem[field] = processedItem[field].name
      }
    })
    return processedItem
  })
}

如果你只需要对符合特定条件的条目做转换(比如你给出的示例中仅转换了name为5555的条目),只需要在赋值前增加对应判断即可:

if(processedItem.name === '5555' && processedItem[field]?.name !== undefined) {
  processedItem[field] = processedItem[field].name
}
常用JSON处理技巧
  • 数组转换场景优先用map方法实现一对一结构转换,filter做条目筛选,reduce做复杂的结构聚合操作
  • 操作对象时优先用展开运算符...或者Object.assign做对象拷贝,避免直接修改原始数据
  • 访问嵌套属性前建议增加存在性判断(比如可选链运算符?.),避免因字段缺失导致运行报错
  • 高频使用的结构转换逻辑可以抽离为公共工具函数,复用代码的同时降低出错概率
学习建议
  • 可以先系统学习MDN中文文档中JavaScript数组、对象相关的内置方法章节,所有常用方法都有详细的语法说明和实战示例
  • 日常遇到转换需求时可以直接在浏览器控制台做小练习,写完后再优化写法,熟练度提升很快

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:36:02