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

如何从JSON.parse解析结果中提取QID开头的指定字段作为变量

问题排查
  • 变量误用:外层循环的key是responses数组的索引值,你在内层遍历values对象时,错误使用外层的key作为键取值,无法获取到values里的字段内容,应该用内层遍历得到的字段名变量取值。
  • 缺少筛选逻辑:没有判断字段名是否以QID开头的逻辑,会遍历所有字段,不符合需求。
  • 内容覆盖问题:直接对容器的innerHTML赋值,每次新值都会覆盖旧值,最终只能得到最后一个遍历到的内容。
修正代码
// 提前清空容器,避免原有内容影响
const container = document.getElementById("container");
container.innerHTML = '';

GetData.responses.forEach(item => {
  const valueMap = item.values;
  for (let field in valueMap) {
    // 同时满足:是对象自有属性、字段名以QID开头
    if (valueMap.hasOwnProperty(field) && field.startsWith('QID')) {
      const currentVal = valueMap[field];
      // 内容追加而非覆盖
      container.innerHTML += `<div>${field}: ${currentVal}</div>`;
      console.log(field, currentVal);
    }
  }
});
兼容说明

如果需要适配不支持startsWith方法的旧浏览器,可以把判断条件替换为field.indexOf('QID') === 0,实现同样的前缀匹配效果。如果需要过滤空值的QID字段,可以在判断条件中追加&& currentVal !== ''。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:09:03