1

使用 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);

我想检查每个键是复杂的(嵌套的或其中有其他键和值,如“job”)还是扁平的(只有像“name”这样的值)

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() 不适用于平面对象并给出“期望一个对象但找到一个字符串”的错误

4

1 回答 1

0

您可以为此使用“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")
  }
}
于 2018-11-11T10:22:22.703 回答