Angular中如何获取JSON值 遍历对象报forEach不是函数解决
报错原因
forEach是数组实例的内置方法,你代码里直接调用的content是普通键值对对象,不是数组类型,自然会触发「xxx is not a function」的报错。你JSON结构里Image Management、Order Management两个属性对应的值才是真正可遍历的条目数组。
实现方案
直接通过属性名访问两个分类对应的数组,提取description字段即可,不需要遍历整个content对象。
固定分类写法
如果只需要提取指定的两个分类,代码如下:
// 假设解析后的JSON对象存在resp变量中 const content = resp.content; // 提取Image Management分类描述 const imageDescList = content["Image Management"].map(item => item.description); console.log('Image Management 描述:'); imageDescList.forEach(desc => console.log('-', desc)); // 提取Order Management分类描述 const orderDescList = content["Order Management"].map(item => item.description); console.log('Order Management 描述:'); orderDescList.forEach(desc => console.log('-', desc));
通用动态遍历写法
如果后续content下可能新增其他分类,不需要改代码就能自动遍历所有分类,可以先把对象转成可遍历的数组结构再操作:
Object.entries(resp.content).forEach(([category, items]) => { console.log(`${category} 描述:`); const descList = items.map(item => item.description); descList.forEach(desc => console.log('-', desc)); })
最终输出结果
运行上述代码后,控制台会按分类输出对应描述:
- Image Management
- model image 1
- model image 2
- Order Management
- Tshirt order
- saree's order
内容的提问来源于stack exchange,提问作者Subathra
相关产品推荐
相关产品推荐

