Json返回未定义的对象

时间:2020-06-04 09:33:42

标签: javascript json ajax

类似的问题对我没有用。我有一个AJAX GET请求。当我在控制台日志中显示整个json时,它可以工作,但无法从中选择单个对象。

我的JS

 $.ajax({
        type: "GET",
        url: "http://localhost:8092/api/getdata",
        dataType: "json",

        success: function (data) {

            console.log(data["date"]);
        },
        error: function (jqXHR, textStatus, errorThrown) {
        }
    });

此代码返回undefined,但是如果我仅使用console.log(data),它将显示所有内容。不知道该怎么办。

这是我使用console.log(data)

时的输出
{
   "date": "04-06-2020",
   "id": 4
}

使用console.log(data)时的SS

使用console.log(data["id"])时的SS

2 个答案:

答案 0 :(得分:2)

似乎您没有向我们显示问题中console.log(data)的完整输出,但周围缺少方括号([ ])!根据您的控制台屏幕截图,您将获得一个 array ,其中包含一个对象。

所以结构是:

[
  {
    "date": "04-06-2020",
    "id": 4
  }
]

因此,您需要访问第一个数组元素(使用[0])以获取对象本身,并从那里获取属性date,如下所示:

console.log(data[0].date)

(当然,data[0]["date"]也可以使用,但是我认为基于点的属性访问看起来更干净。)

答案 1 :(得分:1)

data["date"]用于具有日期属性的对象。但是你的回应是一个数组 您需要说出data[0]["date"]data[0].date