如何获取 json 对象的长度?

How to get the length of the json object?

我写了 ajax 它在我的浏览器控制台中为我提供了 json 数据,就像这样

这是我的代码

$(document).ready(function() {
   $(function() {
       var searchUrl = "http://localhost:4502/bin/typeaHeadServelt";
       console.log("CONSOLE WORKING");
    $(".search").autocomplete({
    source: function (request, response) {
            $.ajax({

                 url:"http://localhost:4502/bin/typeaHeadServelt",
                 dataType: 'json',
                   data:{term: request.term},
                    success: function(data)
                   {   

                      console.log(data);

                   },
                    error: function (data)
                   {
                        console.log("error");
                    }
            });
        }
    });
 });
})

console.log(data) 给了我上面的 output.But 如何获得 json 对象的长度。

我试过 Object.keys(data[0]).length; 但它总是 returns 答案为 2 。 我怎样才能得到长度?

如果您查看控制台中的输出,您会发现数据是一个数组。

要获取数组的长度,您可以简单地使用。

var length = data.length

万一数据是一个对象,而您想查看存在多少个键。那你就用。

var length = Object.keys(data).length;

在你的例子中:

如果您使用 data.length,它将 return 5 因为您的数组长度为 5。

如果您使用 Object.keys(data[0]).length,它将 return 2 因为您在第一个数组中有两个项目 (名称和位置)元素.

可以在下面找到有关数组和对象的更多信息。

MND - Array's
MDN - Object.keys

您可以使用 data.length 以获得服务器返回的结果数。

let jsObject = {'name':'Kasun', 'address':'columbo','age': '29'};

let num = Object.keys(jsObject).length; console.log(数量);