正确获取第一个json对象

时间:2018-06-08 03:44:05

标签: javascript json ajax

我知道这似乎是一个简单的问题,但我现在已经工作了两个小时了。使用ajax请求,我在成功函数中收到了一些数据:

success: function (data) {
  alert(data);
  console.log(data);
}

在控制台中,这是输出:

[  
   {  
      "field1":0,
      "field2":"yes",
      "myArray":[  
         {  
            "fieldInner1":"nice",
            "fieldInner2":105532,

         },
         {  
            "fieldInner1":"nice",
            "fieldInner2":99960,

         }]
     }
]

在我看来,这是一个包含一个对象的数组(这是我的意图)。 但是,当我写

alert(data[0].field1);
相反,它说未定义。当我试着写它data[0]时,它也是未定义的。帮助

2 个答案:

答案 0 :(得分:0)

可能是因为响应是字符串格式。使用JSON.parse(data)[0].field1

答案 1 :(得分:-1)

我试过这个,似乎按预期工作了。

这不是你得到的吗?

编辑:更新的代码。 另请注意使用JSON.stringify



var data = [  
	 {  
		"field1":0,
		"field2":"yes",
		"myArray":[  
		   {  
			  "fieldInner1":"nice",
			  "fieldInner2":105532,
  
		   },
		   {  
			  "fieldInner1":"nice",
			  "fieldInner2":99960,
  
		   }]
	   }
  ]
	  
function df1(){
  alert(data[0].field1);
}

function d0(){
  alert(JSON.stringify(data[0]));
}

function d(){
  alert(JSON.stringify(data));
}

<!DOCTYPE html>
<html>
  <body>
        <h1>Alert buttons...</h1>
        <button onclick="df1()">alert - data[0].field1</button>
        <button onclick="d0()">alert - data[0]</button>
        <button onclick="d()">alert - data</button>
  </body>
</html>
&#13;
&#13;
&#13;