如何使用字符串作为键来访问嵌套的JSON对象

时间:2016-05-18 18:42:33

标签: node.js

好的,所以我有一个JSON文件,其格式类似于以下内容:

{
    "basePath": "/",
    "paths": {
        "/x1/v1/something": {
            "set": {
                "summary": "Get something",
                "tags": ["event"]
        }, ................
}

我需要访问JSON对象的“tags”元素。

所以我像这样加载JSON:

var fs = require('fs');
var JSONobj = require("/Users/petersons/Desktop/swagger.json");

如果我知道我可以通过以下方式访问“/ x1 / v1 / something”:

for(var object in JSONobj.paths) {
  console.log(object);
}

但我不明白如何进一步深入兔子洞,因为这些属性是动态字符串。

1 个答案:

答案 0 :(得分:-2)

只需使用每次迭代获得的键循环:

for (var key in JSONobj.paths) {
    if (typeof JSONobj.paths[key] === "object" && JSONobj.paths[key] !== null) {
        for (var secondKey in JSONobj.paths[key]) {
             console.log(JSONobj.paths[key][secondKey]);
             //Do another check and loop over secondKey if needed, so on so forth
             //Do some checking for the specific key that you want
        }
    } else {
        console.log(JSONobj.paths[key]);
    }
}