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

如何在jQuery中遍历动态JSON数组获取对应值?

解决方案

首先纠正一个常见误区:如果你的result是通过jQuery的API调用(比如$.get/$.ajax)直接获取的,且服务器返回的是application/json类型的数据,jQuery会自动将其解析为JavaScript对象/数组,不需要再调用$.parseJSON()——如果强行解析已经是对象的result,反而会报错。

针对你的需求,每个数组元素都是仅含单个键值对的对象,要提取对应的文本值,有两种简洁可靠的方法:

方法1:使用Object.values()获取值

Object.values()会返回对象所有值组成的数组,由于每个元素只有一个值,取数组第一个元素即可:

// 假设result已经是解析好的数组(API调用直接返回的情况)
$.each(result, function(index, value) {
  const targetValue = Object.values(value)[0];
  console.log(targetValue); // 依次输出State、Occupation等
});

方法2:遍历对象属性(兼容旧环境)

如果需要兼容不支持Object.values()的旧浏览器,可以用for...in循环遍历对象的唯一属性:

$.each(result, function(index, value) {
  for (const key in value) {
    // 确保是对象自身的属性(避免继承属性)
    if (value.hasOwnProperty(key)) {
      console.log(value[key]); // 依次输出目标值
    }
  }
});

为什么原代码无法生效?

原代码中console.log(value)输出的是整个对象(比如{m1: "State"}),而不是你需要的属性值,所以需要进一步提取对象内部的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:52:12