访问JSON-object内的数组元素

时间:2017-07-30 15:05:37

标签: javascript arrays json ajax

我通过响应

返回了以下json对象

enter image description here

功能

 function getUserList() {

$.ajax({
    url: "https://reqres.in/api/users",
    type: "POST",
    data: {
        name: "paul rudd",
        movies: ["I Love You Man", "Role Models"]
    },
    success: function(response){

        console.log(response); // prints the object


    }
});

}

我的问题是如何在javascript中访问 movies-array ?我无法通过响应访问它 - 如果我得到“未定义”返回。

即response.movi​​es

未定义

或response.movi​​es [0]

未捕获的typerror无法读取未定义的属性[0]

4 个答案:

答案 0 :(得分:2)

试试response['movies[]']。此外,您可以控制日志记录response对象并检查其中的内容

答案 1 :(得分:2)

对象的属性似乎是"movies[]",而不是"movies",您可以使用括号表示法来获取

的值
console.log(response["movies[]"][0])

答案 2 :(得分:2)

在你的后端,你的命名错误,所以

访问您要访问的数组,如下所示response.["movies[]"]

见下面的样本:

response = { "movies[]":  ["1","2","3"] };

console.log(response["movies[]"]);

答案 3 :(得分:1)

电影是数组,使用$.each.forEach()

$.ajax({
  url: "https://reqres.in/api/users",
  type: "POST",
  data: {
    name: "paul rudd",
    movies: ["I Love You Man", "Role Models"]
  },
  success: function(response) {
    $.each(response.movies, function(index, value){
      // prints the object
      console.log(value);
    })
  }
});