2015-11-04 14 views
8

In Java gibt es eine nette Methode has, die es ermöglicht zu überprüfen, ob ein JSON-Objekt einen Schlüssel enthält oder nicht. Ich benutze es, wie so:Wie überprüft man, ob das Objekt json eine Eigenschaft hat

JSONObject obj = ....; // <- got by some procedure 
if(obj.has("some_key")){ 
    // do something 
} 

ich nicht die gleiche kühle Funktionalität in newtonsoft.json Bibliothek für C# finden konnte. Also, ich frage mich, was sind die Alternativen. Vielen Dank!

+0

Bitte beziehen Sie sich auf meine Antwort [hier] (https://Stackoverflow.com/a/47204235/1037314) – Ben

Antwort

8

Verwenden Sie einfach obj ["proprty_name"]. Wenn die Eigenschaft nicht existiert, gibt es null

if(obj["proprty_name"] != null){ 
    // do something 
} 
+0

Vielen Dank, mein Herr! – Jacobian

1

Sie mögen dieses versuchen:

IDictionary<string, JToken> dict = x; 
if (dict.ContainsKey("some_key")) 

seit JSONObject implementiert IDictionary<string, JToken>. Sie können beziehen sich MSDN für Details

+0

Er verwendet 'Newtonsoft.Json' nicht' System.Json' – Lucius

Verwandte Themen