Проверьте, является ли ключ json сложным объектом javascript - PullRequest
0 голосов
/ 11 ноября 2018

ИСПОЛЬЗУЯ 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 Ответ

0 голосов
/ 11 ноября 2018

Вы можете использовать «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")
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...