Javascript 获取JSON数组的长度
我有一个json文件。我可以使用Javascript 获取JSON数组的长度,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有一个json文件。我可以使用 $.getJSON.json("mock/Insight72.json", function (jsondata) { response = jsondata.Data1; response2 = jsondata.Data2; }); 但我想找出Data1和Data2的长度。我该怎么办 以下是JSON数据(仅水果部分) 要了解响应对象中有多少元素,可以执行以下操作: var length = 0; for (var key in respon
$.getJSON.json("mock/Insight72.json", function (jsondata) {
response = jsondata.Data1;
response2 = jsondata.Data2;
});
但我想找出Data1和Data2的长度。我该怎么办
以下是JSON数据(仅水果部分)
要了解
响应
对象中有多少元素,可以执行以下操作:
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && ++length;
}
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && length += response[key].length;
}
如果要找出其下所有数组的总长度,可以执行以下操作:
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && ++length;
}
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && length += response[key].length;
}
要了解
响应
对象中有多少元素,可以执行以下操作:
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && ++length;
}
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && length += response[key].length;
}
如果要找出其下所有数组的总长度,可以执行以下操作:
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && ++length;
}
var length = 0;
for (var key in response) {
response.hasOwnProperty(key) && length += response[key].length;
}
由于
Data1
似乎是对象
({
..}
),如果其中一个键/值被明确指定为另一个键/值,则它只有长度
:
{
"aroma": [],
"length": 2
}
但是,如果您想知道它拥有的键/属性的数量,可以使用:
您还可以检索数据1
中任何数组([
..]
)的长度,例如“aroma”
:
或者,如果您想知道对象作为JSON的长度
:
var dataLength = JSON.stringify(jsondata.Data1).length;
然而,除此之外,您还必须明确您希望的“长度”是多少。因为Data1
似乎是一个对象({
..}
),如果一个被明确指定为另一个键/值,它将只有长度
:
{
"aroma": [],
"length": 2
}
但是,如果您想知道它拥有的键/属性的数量,可以使用:
您还可以检索数据1
中任何数组([
..]
)的长度,例如“aroma”
:
或者,如果您想知道对象作为JSON的长度
:
var dataLength = JSON.stringify(jsondata.Data1).length;
然而,除此之外,您还必须明确您希望的“长度”是多少。您可以使用两种不同的方法
这个与IE7和IE8不兼容。看起来也一样
这一个将通过json进行编码并返回长度:
function getJSONLegth(response) {
var count = 0;
for (var k in response) {
count++;
}
return count;
}
var length = getJSONLegth(response);
var length2 = getJSONLegth(response2);
这对你有帮助吗
您可以使用两种不同的方法
这个与IE7和IE8不兼容。看起来也一样
这一个将通过json进行编码并返回长度:
function getJSONLegth(response) {
var count = 0;
for (var k in response) {
count++;
}
return count;
}
var length = getJSONLegth(response);
var length2 = getJSONLegth(response2);
这对你有帮助吗
您可能应该重写它以包含if(response.hasOwnProperty(key))
而不是&
-方法。这样,即使是平凡的js开发人员也可能理解它是如何工作的。您可能应该重写它,以包含if(response.hasOwnProperty(key))
,而不是&&
-方法。这样,即使是平凡的js开发人员也可能理解它是如何工作的。