Проверьте, является ли ключ json сложным объектом javascript
ИСПОЛЬЗУЯ IBP BPM 8.6:
У меня есть объект Json следующим образом:
tw.local.stringifiedJSON = "{"name":"ahmed","age":"20","job":{"salary":"1000","position":"developer"}}";
Я проанализировал в объект JavaScript:
var parsedJSONTW= JSON.parse(tw.local.stringifiedJSON);
Я хочу проверить, является ли каждый ключ сложным (вложенным или имеет другие ключи и значения в нем, например, "задание") или плоский (имеет значение только как "имя")
var finObj={};
var i;
for ( i in parsedJSONTW) {
if (finObj[i] === undefined) { finObj[i] = {}; }
tw.local.propertiesOfObject=Object.getOwnPropertyNames(parsedJSONTW[i]);
if(tw.local.propertiesOfObject==null || tw.local.propertiesOfObject.listLength==0)
{
finObj[i]= parsedJSONTW[i]; //expected to have name and age fields only
}
Использование object.getOwnProperty() не работает с плоским объектом и выдает ошибку "ожидал объект, но нашел строку"
1 ответ
Вы можете использовать "typeof" для этого:
let a = {"name":"ahmed","age":"20","job":{"salary":"1000","position":"developer"}}
for(let k in a){
console.log(typeof a[k])
if(typeof a[k] === 'object'){
console.log("nested")
}
else{
console.log("flat")
}
}