如何识别JSON对象是否嵌套
How to identify if a JSON Object is nested or not
我通过ajax调用从JSP页面获得javascript页面上的JSON对象。我想知道它是否是一个嵌套的JSON对象。例如:一个简单的JSON对象看起来像这样:
{
"time":"2015-04-23T06:23:48.173+0000",
"timeZone":"IST"
}
和一个嵌套的JSON对象看起来像这样:
{
data" : {
"attributes" : {
"key1":"abc",
"key2":"xyz"
}
}
}
所以我想区分这两者,因为我想以不同的方式使用它们
假设您解析了JSON,遍历对象的属性并检查是否有属性值为对象:
var isNested = Object.keys(obj).some(function(key) {
return obj[key] && typeof obj[key] === 'object';
});
在javascript对象中,都包含在大括号{}中。嵌套对象是指键的值是另一个对象。
在您的示例中,"attributes"对象保存key1和key2。然后将其嵌套在"data"对象中作为其值。
JSON与常规javascript对象基本相同,只是有一些限制和语法。
您可以使用以下函数,该函数检查在第一层之后定义的任何对象:
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)
假<<p> 嵌套的例子/strong>:
obj_2 = [{
one: "apples",
two: "oranges",
children: [{
three: "bananas",
four: "jicamas"
}]
}]
. .用法:
check_if_nested(obj_2)
真正相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象