基于json对象树的html表

时间:2013-05-06 19:38:05

标签: javascript html json

我有一个动态的json对象,里面可以包含不同类型的属性和对象,可以有平面字符串甚至数组。 我制作了一个javascript代码将单个JSON结构转换为HTML表格,工作得很好,但是想要使它成为动态JSON,所以基本上我需要遍历JSON树的父母和孩子,看看我该如何创建这个HTML表格。

但是在尝试验证孩子是否有内部对象时我确实遇到了一些问题,如下所示:(我不想向JSON添加许多细节)

parent: {
    child_1: {
        attr1 : value1
    },
    child_2: {
          [{ attribues and values in an array }]
    }
}

我怎么能实现这个目标?我正在考虑使用像这样的“typeof”函数:

if (typeof key === 'array') {
    // do something
}else{
    // do another stuff
}

但我不相信它会运作良好,你们可以帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

检查typeof key === 'array'不正确,因为数组typeof将返回"object"。您可以尝试使用instanceof代替:

if (key instanceof Array) {
    // do something
} else {
    // do another stuff
}

但如果您的JSON是在另一个框架中创建的,那么这将失败。 另一种选择是检查toString()

Object.prototype.toString.call(key).indexOf('Array') > 0

或检查

Array.isArray(key)

但并非所有浏览器都支持。

您可以在此处https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/typeof

了解typeof的说明