【问题标题】:Check if a json key is a complex object javascript检查json键是否是复杂对象javascript
【发布时间】:2019-04-14 07:43:36
【问题描述】:

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

【问题讨论】:

    标签: javascript json key business-process-management hasownproperty


    【解决方案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")
      }
    }
    

    【讨论】:

    • 所以你没有先解析json字符串?
    猜你喜欢
    • 2020-06-18
    • 2014-01-15
    • 2021-11-25
    • 2019-11-12
    • 2012-06-26
    相关资源
    最近更新 更多