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

如何使用JavaScript提取JSON响应中的水果计数并存储变量?

解决方法

你的代码返回undefined是因为解析后的JSON是对象而非数组,对象无法通过数字索引(比如obj[0])访问,必须通过键名(如apple、orange)来获取对应值。以下是两种常见的实现方式:

1. 单独获取每种水果的计数

直接通过对象的键名和子属性提取数值并存储到变量:

const obj = JSON.parse(txt);

// 存储各水果计数到变量
const appleCount = obj.apple.count;
const orangeCount = obj.orange.messageCount;
const bananaCount = obj.banana.messageCount;
const grapesCount = obj.grapes.messageCount;

// 示例:在页面展示结果
document.getElementById("demo").innerHTML = `
苹果:${appleCount}<br>
橙子:${orangeCount}<br>
香蕉:${bananaCount}<br>
葡萄:${grapesCount}
`;

2. 批量遍历所有水果的计数

如果水果数量较多,可通过遍历对象的键值对批量提取计数,统一存储到新对象中:

const obj = JSON.parse(txt);
const fruitCounts = {};

// 遍历所有水果的键值对
for (const [fruitName, fruitData] of Object.entries(obj)) {
  // 兼容"count"和"messageCount"两种属性名
  const count = fruitData.count ?? fruitData.messageCount;
  fruitCounts[fruitName] = count;
}

// 现在fruitCounts包含所有水果的计数:{apple:4, orange:3, banana:2, grapes:5}
// 示例:在页面展示结构化结果
document.getElementById("demo").innerHTML = JSON.stringify(fruitCounts, null, 2);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:55:17