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

如何读取JSON数据并获取其中的name与status字段

问题原因&修复方案

你的代码存在3处核心问题,调整后即可正常读取字段:

  • dataType 设置为text导致返回的JSON字符串没有被自动解析为JavaScript对象,无法直接读取属性
  • 你错误尝试读取响应体的status字段判断HTTP状态,HTTP状态码存放在AJAX成功回调的第三个参数jqXHR中,且你的业务状态OK存放在返回数组的第一个元素内
  • 直接遍历整个返回数组会读到第一个无name字段的状态对象,只有索引1及之后的元素包含name字段

修正后代码

$.ajax({
  url:'url',
  method: 'get',
  // 改为json让jQuery自动解析返回结果为JS对象
  dataType: 'json',
  success: function(response, statusText, jqXHR){
    // 先判断HTTP状态码是否正常
    if (jqXHR.status === 200) {
      // 读取业务状态,在数组第一个元素中
      const bizStatus = response[0].status;
      console.log('业务状态:', bizStatus);
      // 从索引1开始遍历读取name字段
      for (let i = 1; i < response.length; i++) {
        alert(response[i].name);
      }
      // 如果你需要用$.each遍历也可以这么写:
      // $.each(response, function(i, data) {
      //   // 跳过第一个状态元素
      //   if (i === 0) return;
      //   alert(data.name);
      // });
    } else {
      alert('error status');
    }
  },
  error: function() {
    alert('请求失败');
  }
});

额外说明

如果你一定要保留dataType: 'text'的配置,可以在拿到response后手动调用JSON.parse(response)将字符串转为JSON对象再操作,效果和直接设置dataType: 'json'一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:21:01