2012-04-09 5 views
1

Meine mobile App liest ein externes JSON-Objekt. Wie kann ich in Javascript überprüfen, dass ein Schlüsselknoten in der dynamisch generierten JSON-Struktur vorhanden ist? Ich habe die Methoden hasOwnProperty oder containsKey ausprobiert, aber ohne Glück.jquery mobile JavaScript verify json Schlüssel

Beispiel json Daten:

{ "element1": 
    { "element2": { "Number": "0" }, 
    "element3": { "Number": "1" }, 
    "element4": { "Number": "2" } 
    } 
} 

Da diese Elemente werden dynamisch generiert, ich will, wenn der Schlüssel element3 in dieser Struktur besteht überprüfen. Kein Glück mit data.element1.hasOwnProperty ("element3").

Antwort

1

Ja, die Methode hasOwnProperty() funktioniert nicht für ein Json-Objekt. Es funktioniert für ein Java Script-Objekt. Sie müssen also nur dieses Json-Objekt mithilfe der eval() -Methode in ein Java-Script-Objekt konvertieren und innerhalb dieses Objekts prüfen.

Wenn Sie die obige JSON-Struktur konvertieren, wird ein Objekt (element1) in einem anderen Objekt (z. B. JSObject) erstellt. element1 enthält die Eigenschaften element2, element3 und element4. Dein Code sollte also so gehen.

var MyObject={ "element1": 
    { "element2": { "Number": "0" }, 
    "element3": { "Number": "1" }, 
    "element4": { "Number": "2" } 
    } 
} 

var JSObject=eval('(' + MyObject+ ')'); 

var IsExistElement3 = JSObject.element1.hasOwnProperty("element3"); 
+0

Es funktioniert! Danke vielmals! – nicBBB