尝试解析JSON时未定义

时间:2015-10-27 20:06:18

标签: javascript jquery json ajax

我试图用JQuery解析JSON响应:

<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textField" />

我希望将名称输入警告框,但我得到的只是<script> $(document).ready(function() { $("button").click(function() { $.ajax({ url : 'test.php', type : 'GET', data : { name : "Peter", }, dataType : 'json', success : function(response) { console.log(response); alert(response.name) }, error : function() { console.log("error") } }); }); }); </script>

这是控制台中的结果:

undefined

当我Object {results: Array[1]} results: Array[1] 0: Object id: "4" name: "Peter" 时,我得到alert(JSON.stringify(response));,因此肯定有效的JSON。

3 个答案:

答案 0 :(得分:3)

response中,没有属性namename results数组中的第一个元素中有{,1},所以要获取您需要的名称

console.log(response.results[0].name)

答案 1 :(得分:2)

响应是一个在结果中包含数组的对象,你需要迭代ressponse.results,或者如果你确定它只有一个元素,请使用response.results [0] .name

答案 2 :(得分:0)

JSON数据包含一个数组,因此您需要使用索引:

&#13;
&#13;
var data = {"results":[{"id":"4","name":"Peter"}]}
document.write(data.results[0].name)
&#13;
&#13;
&#13;