msq*_*qar 5 html javascript json
我有一个动态的json对象,它可以在内部包含不同类型的属性和对象,甚至可以包含平面字符串甚至数组。我制作了一个JavaScript代码,将单个JSON结构转换为HTML表,效果很好,但id希望将其用于动态JSON,因此基本上,我需要遍历JSON树的父级和子级,以了解如何创建此结构HTML表格。
但是在尝试验证孩子是否有对象时确实存在一些问题,例如:(我不想在JSON中添加很多细节)
parent: {
child_1: {
attr1 : value1
},
child_2: {
[{ attribues and values in an array }]
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我当时正在考虑像这样使用“ typeof”函数:
if (typeof key === 'array') {
// do something
}else{
// do another stuff
}
Run Code Online (Sandbox Code Playgroud)
但是我不相信它会很好,你们能帮我吗?
提前致谢。
检查typeof key === 'array'不正确,因为 for 数组typeof将返回"object"。您可以尝试改用instanceof:
if (key instanceof Array) {
// do something
} else {
// do another stuff
}
Run Code Online (Sandbox Code Playgroud)
但如果您的 JSON 是在另一个框架中创建的,这将会失败。另一种选择是检查toString()
Object.prototype.toString.call(key).indexOf('Array') > 0
Run Code Online (Sandbox Code Playgroud)
或检查
Array.isArray(key)
Run Code Online (Sandbox Code Playgroud)
但并非所有浏览器都支持。
typeof你可以在这里看到的描述https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/typeof