我通过ajax调用从JSP页面获取javascript页面上的JSON对象。我想知道它是否是嵌套的JSON对象。 例如: 一个简单的JSON对象如下所示:
_JQ('#rightMenu').mmenu({
dragOpen: true
}, {
// configuration
clone: true
});
_JQ('#leftMenu').mmenu({
dragOpen: true
}, {
// configuration
clone: true
});
和嵌套的JSON对象如下所示:
{
"time":"2015-04-23T06:23:48.173+0000",
"timeZone":"IST"
}
所以我想区分两者,因为我想以不同的方式使用它们 提前谢谢......
答案 0 :(得分:7)
假设你解析了JSON,迭代对象的属性并检查是否有任何属性值是对象:
var isNested = Object.keys(obj).some(function(key) {
return obj[key] && typeof obj[key] === 'object';
});
答案 1 :(得分:0)
在javascript对象中,包含在大括号 {} 中。嵌套对象是键的值是另一个对象的位置。
在您的示例中,"属性" object保存key1和key2。然后将其嵌套在"数据"对象作为其价值。
JSON与常规javascript对象大致相同,但有一些限制和语法。
答案 2 :(得分:0)
您可以使用以下函数,该函数检查在第一级之后定义的任何对象:
function check_if_nested(obj) {
check_nest=[]
obj.map(function(e,i) {$.each(e, function(v){
if(typeof(obj[0][v])=='object') {check_nest.push('nested')} else {check_nest.push('not nested')}
})})
if(check_nest.includes('nested')) {return(true)} else {return(false)}
}
用法:
非嵌套示例:
obj_1 = [{
one: "apples",
two: "oranges"
}]
..用法:
check_if_nested(obj_1)
假
嵌套示例:
obj_2 = [{
one: "apples",
two: "oranges",
children: [{
three: "bananas",
four: "jicamas"
}]
}]
..用法:
check_if_nested(obj_2)
真