2016-04-12 8 views
1

döngü boşkenNeden Formatlama döngü döndürüyor 'arg' I JSON Nesne üzerinde yineleme am

Benim JSON Yapısı Bu

{ "someinfo" gibi bir şey: { "ABC": "123", "xyz": "456"}}} JSON 'parametre' doldurulduğunda döngü üzerinde

for (var tempVal in jsonObj.someinfo.Parameter) { 
//print tempval 

} 

doğru değerleri döndürür.

o JSON bakın edecek

Boş 'Parametre' arg yazdırır gibi boşsa:

{ "someinfo": { "Parametre": ""}}}

doğru değerleri yazdırmak için

boş veya boş olmayan döngü içinde için- herhangi bir yolu yoktur

+0

Eğer 'if' durumu hakkında mı konuşuyorsunuz? – Rayon

+0

Json parametrenizin yanlış olduğunu söyleyebilirim. Bir nesne veya boş olmalı. Nesne veya boş dize değil. – RvdK

+0

Tamam. JSON dosya İçeriği veya biçimi üzerinde kontrolüm yok. Yani yukarıdaki durumda en iyi ne yapılabilir? –

cevap

1

Parameter bir object boş Parameter bir string

var jsonObj1={"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}}; 
 
var jsonObj2={"someinfo":{"Parameter":""}}; 
 
alert("Full: "+typeof jsonObj1.someinfo.Parameter+" ---- Empty: "+typeof jsonObj2.someinfo.Parameter)

olduğunu doldurdu yapamazsın "bir dizede döngü" JSON'unuzu değiştirirseniz veya bu şekilde test ederseniz

if (typeof jsonObj1.someinfo.Parameter==="object") { 
    for (var tempVal in jsonObj.someinfo.Parameter) { 
    //print tempval 
    } 
} else { 
    //empty 
} 
0

Sen tekini jsonObj.someinfo.Parameter Böyle bir nesne olup olmadığını kontrol edin:

var json = {"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}}; 

if(typeof json.someinfo.Parameter === "object") { 
    for(var key in json.someinfo.Parameter) { 
    // print key 
    } 
} else { 
    // Do something when it is not an object (empty) 
} 
İlgili konular