2017-06-14 24 views
1

這是我的JSON,現在我想找出屬性是數組或字符串。如何找出對象鍵是字符串或數組在javascript中

{ 「數據」:[

{ 

    "name": "my Service", 
    "description":" comes once here " , 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
    "imgUrl":"../assets/images/nmpm.jpg" 

}, 

{ 
    "name": "my Service1", 
    "description":" comes once here " , 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
    "imgUrl":"../assets/images/nmpm.jpg" 
}, 

{ 

    "name": "my Service2", 
    "description":" comes once here " , 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
    "imgUrl":"../assets/images/nmpm.jpg" 
}, 

{ 

    "name": "my Service3", 
    "description":" comes once here " , 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
    "imgUrl":"../assets/images/nmpm.jpg" 
} 

] }

現在如何找出屬性是字符串或數組。

+0

請澄清你的問題有點有更多的描述......什麼是你想達到什麼目的? –

+0

@BanjoMofesolaPaul我想寫一個函數來查找屬性是從JSON上面的字符串或數組。 – Rajender

回答

0

我瞭解你的答案,你需要確定每個屬性類型。 我已經完成了下面的代碼。請讓我知道如果我不在你的路線。我只是安慰所有類型

var data = [ 
 

 
{ 
 

 
    "name": "my Service", 
 
    "description":" comes once here " , 
 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
 
    "imgUrl":"../assets/images/nmpm.jpg" 
 

 
}, 
 

 
{ 
 
    "name": "my Service1", 
 
    "description":" comes once here " , 
 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
 
    "imgUrl":"../assets/images/nmpm.jpg" 
 
}, 
 

 
{ 
 

 
    "name": "my Service2", 
 
    "description":" comes once here " , 
 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
 
    "imgUrl":"../assets/images/nmpm.jpg" 
 
}, 
 

 
{ 
 

 
    "name": "my Service3", 
 
    "description":" comes once here " , 
 
    "tables":{ "tables":["rajaaaaa ","rajuuuuu","mommmm"]}, 
 
    "imgUrl":"../assets/images/nmpm.jpg" 
 
} 
 
]; 
 

 

 
data.forEach(obj=>{ 
 
    
 
    var keys = Object.keys(obj); 
 
    for(var k=0;k< keys.length; k++){ 
 
     if(typeof obj[keys[k]] == 'string'){ 
 
      console.log(keys[k]+" is string"); 
 
     }else if(typeof obj[keys[k]] == 'object'){ 
 
      
 
      
 
      var obj_keys = Object.keys(obj[keys[k]]); 
 
      
 
      for(var j = 0; j< obj_keys.length; j++){ 
 
      
 
      
 
      if(Object.prototype.toString.call(obj[keys[k]][obj_keys[j]]) === '[object Array]') { 
 
       console.log(keys[k]+" has Array"); 
 
      } 
 
      } 
 
      
 
     } 
 
     
 
     
 
    } 
 
    
 
});

+0

是的,這是我期待的,現在我想存儲所有字符串在一個變量和數組在其他變量,我會html。 – Rajender

+0

感謝它的幫助 – Rajender

0

校驗字符串是:

typeof var === 'string' 

Array的檢查:

Object.prototype.toString().call(var) === '[object Array]' 
+0

我想檢查數組和字符串,我想編寫一個函數來找出哪個是數組和字符串。 – Rajender

+0

編輯我的回答 – mikep

+0

爲什麼不'Array.isArray()'? –

相關問題