从javascript中的json格式获取未知父节点的子节点

从javascript中的json格式获取未知父节点的子节点,javascript,arrays,nodes,parent-child,extract,Javascript,Arrays,Nodes,Parent Child,Extract,我的函数接收类似这样的json { IdontKnowWhatsHere1: [ "item1", "item2", "item3" ] } 我想要的是得到数组值,而不知道它们的标签或父项是什么, 最好也提取父对象 谢谢您可以使用获取对象的键,并获取第一个键(索引0)。将键指定给值,以获取数组: var data={idontknowwhathere1:[“项目1”、“项目2”、“项目3”]}; var key=Objec

我的函数接收类似这样的json

{
    IdontKnowWhatsHere1: [ 
        "item1", 
        "item2", 
        "item3"
    ]
}
我想要的是得到数组值,而不知道它们的标签或父项是什么, 最好也提取父对象

谢谢

您可以使用获取对象的键,并获取第一个键(索引0)。将键指定给值,以获取数组:

var data={idontknowwhathere1:[“项目1”、“项目2”、“项目3”]};
var key=Object.keys(数据)[0];
var值=数据[键];
控制台日志(键);

console.log(值)
也可以使用
Object.entries(data)
返回一个数组:
[[key,val],[key,val]]…
这都是假设OP总是希望对象只有一个属性(自然假设,给出他的例子)。如果他想在不止一个财产的情况下提取,还有其他解决方案。@TKoL-确实如此。然后用数组#map迭代,而不是使用
[0]
,然后得到一个结果数组。@Oridori两者都可以工作,但使用条目的第二个示例最好是添加[0]来获得父值,[1]来获得子值,非常感谢您为我节省了很多时间:)。。。为了把它凑起来<代码>风险值数据={IDONTknowWhatherea:[“项目A1”、“项目A2”、“项目A3”]、IDONTknowWhathereb:[“项目B1”、“项目B2”、“项目B3”]、IDONTknowWhatherec:[“项目C1”、“项目C2”、“项目C3”]
var dataEntryList=/*ES6*/Object.entries(数据)
console.log('dataEntryList:',dataEntryList)
dataEntryList=/*ES5*/Object.keys(data).map(函数(key){return[key,this[key]];},data)
console.log('dataEntryList:',dataEntryList)
hi@Roman我理解那里的问题和解决方案,非常根被识别,因此他们可以很容易地得到孩子,但是这里的根是未知的。我确实质疑将OP的问题标记为链接so源的副本的决定。OP的Q直接指向
对象。条目
或生成相同结果的任何其他解决方案。顺便说一句,2017年,有了ES5
Array
方法,基于
for
循环的解决方案不再是合适的方法。