Javascript JSON对象获取长度
我有嵌套的JSON,如下所示:Javascript JSON对象获取长度,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有嵌套的JSON,如下所示: var data = [ { "id":"4", "name":"2nd anniversary", "date":"2015-12-17", "location":"Mumbai", "story_body":"Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djdj d", "short_link":"izWfs", "crea
var data = [
{
"id":"4",
"name":"2nd anniversary",
"date":"2015-12-17",
"location":"Mumbai",
"story_body":"Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djdj d",
"short_link":"izWfs",
"created_at":"2015-12-11 03:49:52",
"path":[
"\/SupportData\/ImpalzB2B\/uploads\/711453354154623.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544217.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/471453355023537.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544223.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544179.jpg"
],
"update_type":"3"
},
{
"id":"7",
"name":"#1styearAnniversary",
"date":"2016-01-20",
"location":"Mumbai",
"story_body":"Bsjsj jdkdk djdkdk dkdkf kdkf dkfj fjfj fjfkjdd djkd",
"short_link":"FHXh0",
"created_at":"2016-01-20 23:10:54",
"path":"\/SupportData\/ImpalzB2B\/uploads\/11453356652175.jpg",
"update_type":"3"
},
{
"id":"19",
"name":"Product qetyfvhchv",
"description":"Cheers Vgdhvjd hugging",
"short_link":"jPE7G",
"created_at":"2016-01-18 05:03:46",
"path":"\/SupportData\/ImpalzB2B\/uploads\/90294930451453118625255.jpg",
"update_type":"4"
},
{
"id":"20",
"name":"F frfgcgj ggvvhv",
"description":" Vdhsj fgjjchk",
"short_link":"hMn8K",
"created_at":"2016-01-18 05:04:16",
"path":"\/SupportData\/ImpalzB2B\/uploads\/90294930451453118654785.jpg",
"update_type":"4"
},
{
"id":"25",
"name":"Gshsh djdj djdkd dkkd",
"description":"Bsjjd djjd djdirj dudir",
"short_link":"dhT6l",
"created_at":"2016-01-22 05:39:31",
"path":[
"\/SupportData\/ImpalzB2B\/uploads\/11453466369930.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/11453466369891.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/11453466369942.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/11453466369934.jpg",
"\/SupportData\/ImpalzB2B\/uploads\/11453466369939.jpg"
],
"update_type":"4"
},
{
"id":"26",
"name":"For Healthy Breakfast, head over to our new restaurant in Andheri",
"description":"Delightful upma",
"short_link":"CG0i4",
"created_at":"2016-02-04 06:58:17",
"path":"\/SupportData\/ImpalzB2B\/uploads\/11454594295456.jpg",
"update_type":"4"
},
{
"id":"1",
"body":"#Awesome2Eat",
"votes":"28",
"update_type":"7",
"short_link":"GcKAe",
"created_at":"2016-02-04 01:28:53",
"name":"nehil"
},
{
"id":"10",
"body":"#Bouncy",
"votes":"1",
"update_type":"7",
"short_link":"JXUxz",
"created_at":"2016-02-04 00:12:52",
"name":"nehil"
},
{
"id":"11",
"body":"#Superman",
"votes":"0",
"update_type":"7",
"short_link":"4Keyd",
"created_at":"2016-02-04 01:17:36",
"name":"nehil"
}
]
如何从对象获取路径数组的长度?
我试了一下,长度不对
for (var key in data) {
if(data[key].update_type == '3'){
console.log(data[key].path.length); // 5 and 49 . It Should be 5 and 1
}
};
这也是获取对象的每个元素的正确方法吗
for (var key in data) {
console.log(data[key].id);
$.each(data[key].path, function (i, obj) {
console.log(obj);
});
};
小提琴链接:因为
数据[key].path的值类型不是数组(第二个实例),而是字符串。字符串还有一个length属性,它给出了字符串的长度
成功
for (var key in data) {
if(data[key].update_type == '3')
{
if (typeof data[key].path == "string" )
{
console.log( 1 );
}
else
{
console.log(data[key].path.length); // 5 and 49 . It Should be 5 and 1
//to print all the elements on the console one by one
if ( data[key].path && data[key].path.length > 0 )
{
data[key].path.forEach( function(value){
console.log( value );
} );
}
}
}
}
因为data[key].path的值类型不是数组(第二个实例),所以它是一个字符串。字符串还有一个length属性,它给出了字符串的长度
成功
for (var key in data) {
if(data[key].update_type == '3')
{
if (typeof data[key].path == "string" )
{
console.log( 1 );
}
else
{
console.log(data[key].path.length); // 5 and 49 . It Should be 5 and 1
//to print all the elements on the console one by one
if ( data[key].path && data[key].path.length > 0 )
{
data[key].path.forEach( function(value){
console.log( value );
} );
}
}
}
}
您可以使用forEach
循环:
forEach()方法对每个数组执行一次提供的函数
元素
var数据=[{
“id”:“4”,
“姓名”:“两周年纪念日”,
“日期”:“2015-12-17”,
“地点”:“孟买”,
“故事体”:“Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djd”,
“短链接”:“izWfs”,
“创建时间”:“2015-12-11 03:49:52”,
“路径”:[
“\/SupportData\/ImpalzB2B\/uploads\/711453354154623.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544217.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/471453355023537.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544223.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544179.jpg”
],
“更新类型”:“3”
}, {
“id”:“7”,
“姓名”:“#1周年纪念日”,
“日期”:“2016-01-20”,
“地点”:“孟买”,
“故事体”:“Bsjsj jdkdk DJDKF kdkf dkfj fjfj fjfkjdd djkd”,
“短链接”:“FHXh0”,
“创建时间”:“2016-01-20 23:10:54”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/11453356652175.jpg”,
“更新类型”:“3”
}, {
“id”:“19”,
“名称”:“产品QETYFVHHV”,
“描述”:“为拥抱干杯”,
“短链接”:“jPE7G”,
“创建时间”:“2016-01-18 05:03:46”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/90294930451453118625255.jpg”,
“更新类型”:“4”
}, {
“id”:“20”,
“名称”:“F frfgcgj ggvvhv”,
“说明”:“Vdhsj fgjjchk”,
“短链接”:“hMn8K”,
“创建时间”:“2016-01-18 05:04:16”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/90294930451453118654785.jpg”,
“更新类型”:“4”
}, {
“id”:“25”,
“名称”:“Gshsh DJ DJ DKD dkkd”,
“说明”:“Bsjjd djjd djdirj dudir”,
“短链接”:“dhT6l”,
“创建时间”:“2016-01-22 05:39:31”,
“路径”:[
“\/SupportData\/ImpalzB2B\/uploads\/11453466369930.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369891.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369942.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369934.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369939.jpg”
],
“更新类型”:“4”
}, {
“id”:“26”,
“姓名”:“健康早餐,前往我们在安德烈的新餐厅”,
“描述”:“令人愉快的upma”,
“短链接”:“CG0i4”,
“创建时间”:“2016-02-04 06:58:17”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/11454594295456.jpg”,
“更新类型”:“4”
}, {
“id”:“1”,
“body”:“Awesome2Eat”,
“投票”:“28”,
“更新类型”:“7”,
“短链接”:“GcKAe”,
“创建时间”:“2016-02-04 01:28:53”,
“名称”:“nehil”
}, {
“id”:“10”,
“身体”:“有弹性”,
“投票”:“1”,
“更新类型”:“7”,
“短链接”:“JXUxz”,
“创建时间”:“2016-02-04 00:12:52”,
“名称”:“nehil”
}, {
“id”:“11”,
“身体”:“超人”,
“投票数”:“0”,
“更新类型”:“7”,
“短链接”:“4Keyd”,
“创建时间”:“2016-02-04 01:17:36”,
“名称”:“nehil”
}]
data.forEach((a)=>{/*ES6 Arrow函数。也可以使用简单的'function(){}'*/
if(a.path的类型==“字符串”){
控制台日志(1);
}else if(a.path的类型!==“未定义”){
console.log(a.path.length);
}否则{
控制台日志(-1);
}
})
您可以使用forEach
循环:
forEach()方法对每个数组执行一次提供的函数
元素
var数据=[{
“id”:“4”,
“姓名”:“两周年纪念日”,
“日期”:“2015-12-17”,
“地点”:“孟买”,
“故事体”:“Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djd”,
“短链接”:“izWfs”,
“创建时间”:“2015-12-11 03:49:52”,
“路径”:[
“\/SupportData\/ImpalzB2B\/uploads\/711453354154623.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544217.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/471453355023537.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544223.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/90294930451449759544179.jpg”
],
“更新类型”:“3”
}, {
“id”:“7”,
“姓名”:“#1周年纪念日”,
“日期”:“2016-01-20”,
“地点”:“孟买”,
“故事体”:“Bsjsj jdkdk DJDKF kdkf dkfj fjfj fjfkjdd djkd”,
“短链接”:“FHXh0”,
“创建时间”:“2016-01-20 23:10:54”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/11453356652175.jpg”,
“更新类型”:“3”
}, {
“id”:“19”,
“名称”:“产品QETYFVHHV”,
“描述”:“为拥抱干杯”,
“短链接”:“jPE7G”,
“创建时间”:“2016-01-18 05:03:46”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/90294930451453118625255.jpg”,
“更新类型”:“4”
}, {
“id”:“20”,
“名称”:“F frfgcgj ggvvhv”,
“说明”:“Vdhsj fgjjchk”,
“短链接”:“hMn8K”,
“创建时间”:“2016-01-18 05:04:16”,
“路径”:“\/SupportData\/ImpalzB2B\/uploads\/90294930451453118654785.jpg”,
“更新类型”:“4”
}, {
“id”:“25”,
“名称”:“Gshsh DJ DJ DKD dkkd”,
“说明”:“Bsjjd djjd djdirj dudir”,
“短链接”:“dhT6l”,
“创建时间”:“2016-01-22 05:39:31”,
“路径”:[
“\/SupportData\/ImpalzB2B\/uploads\/11453466369930.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369891.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369942.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369934.jpg”,
“\/SupportData\/ImpalzB2B\/uploads\/11453466369939.jpg”
],
“更新类型”:“4”
}, {
“id”:“26”,
“姓名”:“健康早餐,前往我们在安德烈的新餐厅”,
"
var path = (item.path && typeof item.path == 'string' ? [item.path] : item.path) || [];
$.each(data, function(i, item) {
if (item.update_type == '3') {
var path = (item.path && typeof item.path == 'string' ? [item.path] : item.path) || [];
console.log(path.length);
}
});
$.each(data, function(i, item) {
console.log(item.id);
var path = (item.path && typeof item.path == 'string' ? [item.path] : item.path) || [];
$.each(path, function (i, obj) {
console.log(obj);
});
});
data.forEach(function (item) {
if (item.update_type == '3') {
var path = (item.path && typeof item.path == 'string' ? [item.path] : item.path) || [];
console.log(path.length);
}
});
data.forEach(function (item) {
console.log(item.id);
var path = (item.path && typeof item.path == 'string' ? [item.path] : item.path) || [];
path.forEach(function (obj) {
console.log(obj);
});
});