Javascript 从JSON获取元素集合

Javascript 从JSON获取元素集合,javascript,json,nashorn,jjs,Javascript,Json,Nashorn,Jjs,我有一个JSON文件,其结构如下: {"root" : { "parent" : { "childA" : ["element1", "element2"], "childB" : ["element1", "element2"] } } 我怎样才能从它那里得到一组孩子[childA,childB] 现在我要做的是:

我有一个JSON文件,其结构如下:

{"root" : {
     "parent" : {
          "childA" : 
              ["element1",
               "element2"],
          "childB" :
              ["element1",
               "element2"]
     }
}
我怎样才能从它那里得到一组孩子
[childA,childB]

现在我要做的是:

  • 将JSON文件解析为一个对象(我知道如何做,建议的响应就是这样)

  • 创建集合:

    var collection = [JSON.root.parent.childA, JSON.root.parent.childB];
    collection.forEach(function(child) {
        print(child[0])
    });
    
  • 要打印
    “元素1”

    我不熟悉JavaScript,但我相信有一种更好、更通用的方法来实现第2点

    编辑:
    我忘了补充一下,这个Java脚本是在Nashorn jjs脚本中使用的。

    只需使用
    Object.keys()
    即可:

    var数据={“根”:{
    “家长”:{
    “childA”:
    [“元素1”,
    “元素2”],
    “儿童B”:
    [“元素1”,
    “元素2”]
    }
    }
    };
    var集合=[];
    for(data.root.parent中的var childIndex){
    data.root.parent[childIndex].every(child=>collection.push(child));
    };
    
    控制台日志(收集)只需使用
    Object.keys()
    即可:

    var数据={“根”:{
    “家长”:{
    “childA”:
    [“元素1”,
    “元素2”],
    “儿童B”:
    [“元素1”,
    “元素2”]
    }
    }
    };
    var集合=[];
    for(data.root.parent中的var childIndex){
    data.root.parent[childIndex].every(child=>collection.push(child));
    };
    
    控制台日志(收集)
    您可以使用
    Object.values
    获取父对象中的条目

    var数据={“根”:{
    “家长”:{
    “childA”:
    [“元素1”,
    “元素2”],
    “儿童B”:
    [“元素1”,
    “元素2”]
    }
    }
    };
    var集合=[];
    for(data.root.parent中的var o){
    collection.push(data.root.parent[o]);
    }
    collection.forEach(函数(子级){
    console.log(子[0]);
    
    });
    您可以使用
    Object.values
    获取父对象中的条目

    var数据={“根”:{
    “家长”:{
    “childA”:
    [“元素1”,
    “元素2”],
    “儿童B”:
    [“元素1”,
    “元素2”]
    }
    }
    };
    var集合=[];
    for(data.root.parent中的var o){
    collection.push(data.root.parent[o]);
    }
    collection.forEach(函数(子级){
    console.log(子[0]);
    
    });
    Object.keys(JSON.root.parent)的可能重复项
    。不要将“JSON”用作变量名,您可能会覆盖或隐藏本机的
    窗口。JSON
    对象。
    var collection=Object.values(JSON.root.parent)
    @clinomaniac-建议的主题是关于解析JSON字符串的。我的问题不是解析JSON,而是如何从JSON对象中提取特定元素。
    object.keys(JSON.root.parent)
    的可能重复项。不要将“JSON”用作变量名,您可能会覆盖或隐藏本机
    window.JSON
    对象。
    var collection=object.values(JSON.root.parent)
    @clinomaniac-建议的主题是关于解析JSON字符串。我的问题不是解析JSON,而是如何从JSON对象中提取特定元素。这只返回键,因此对于
    console.log(child[0]
    我有输出
    childA
    而不是
    element1
    这对我来说很有用……有点。我更喜欢@Musa answer,但它在jjs脚本中不起作用。这只返回键,对于
    console.log(child[0]
    我有输出
    childA
    而不是
    element1
    这对我来说很有效……有点。我更喜欢@Musa answer,但它在jjs脚本中不起作用。我忘了补充一点,这段代码是作为jjs Nashorn脚本运行的,出于某些原因,它无法识别
    对象。值
    作为有效函数,但您的代码实际上是我不想实现。我忘了补充一点,这段代码是作为jjs Nashorn脚本运行的,出于某些原因,它无法将
    Object.values
    识别为有效函数,但您的代码实际上就是我想要实现的。