Javascript 中是否有对应的 this以下功能是通过Java实现的吗?
能够在不知道 JSON 格式的情况下迭代简单到复杂/嵌套的 JSON 结构。
我需要此功能来获取所有最里面的键,并且保存直接值而不是对象/数组作为其值。
在此fiddle , Object.keys() 只给出最外面的键。我希望能够获得(id,类型)
console.log(Object.keys(x));
最佳答案
你可以自己构建它,如果它是一个对象,只需递归地迭代对象的键,请参阅这个小示例:
const getAllPropertiesRecursively = (obj) => {
const propertyKeys = [];
Object.keys(obj).forEach(key => {
const value = obj[key];
if (value && !Array.isArray(value)) {
if (value.toString() === '[object Object]') {
propertyKeys.push(...getAllPropertiesRecursively(value));
} else {
propertyKeys.push({[key]: value}); // here you store the keys and values that are not array nor object
}
}
});
return propertyKeys;
}
所以当你像这样调用这个方法时:
getAllPropertiesRecursively({a:1, b:2, c: { d: 1}, e: [1,2,3,4], f: {g:2}});
你会得到一个像这样的数组:
[{a: 1}, {b: 2}, {d: 1}, {g: 2}]
您可以编辑带有注释的行,以您想要的方式存储数据
关于javascript - 在不知道javascript中JSON格式的情况下用Java解析JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700483/