Проверьте, является ли ключ 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")
  }
}
Другие вопросы по тегам