检查JSON对象的数据类型

时间:2014-02-27 10:19:48

标签: javascript

我编写了一个javascript函数来显示警报中JSON对象的所有内部数据元素。

这是我的代码

function allElements(moduleName) {
switch (moduleName) {
    default :
        return {
            "glossary": {
                "title": "example glossary",
                "GlossDiv": {
                    "title": "S",
                    "GlossList": {
                        "GlossEntry": {
                            "ID": "SGML",
                            "SortAs": "SGML",
                            "GlossTerm": "Standard Generalized Markup Language",
                            "Acronym": "SGML",
                            "Abbrev": "ISO 8879:1986",
                            "GlossDef": {
                                "para": "A meta-markup language,such as DocBook",
                                "GlossSeeAlso": ["GML", "XML"]
                            },
                            "GlossSee": "markup"
                        }
                    }
                }
            }
        }
}

}

function getData(data) {
    var table = ""
    for (var i in data) {
        if (i.constructor === "string".constructor) {
            table += i + " -> " + data[i]
        } else if (i.constructor === [].constructor) {
            for (j in i) {
                table += getData(i[j])
            }
        } else if (i.constructor === {}.constructor) {
            for (j in i) {
                table += getData(i[j]) 
            }
        }
    }
    return table
}

function fun() {
    alert(getData(allElements("ignored argument")))
}

以上逻辑是here。但它只显示s1,s2,s3和“第二个对象”。整个对象仅被识别为一个对象。它没有进入那个内在的对象。有人能告诉我怎样才能完成这件事。

(编辑json对象)

0 个答案:

没有答案