2016-05-09 34 views
0

ich ein verschachteltes JSON-Objekt habe, wie diese,Deserialisieren verschachteltes JSON-Objekt C#

"where": { 
     "operator": "AND", 
     "left": { 
     "operator": "=", 
     "$fieldRef": "requestor", 
     "value": "@me" 
     }, 
     "right": { 
     "operator": "=", 
     "$fieldRef": "state", 
     "value": "Closed" 
     } 
    }, 

Ich möchte dies in C# deserialisieren, aber das Problem ist, dass das Objekt auf dem Benutzer mehr größer, je, die Objekt kann wie folgt

und auch wie diese,

"where": { 
     "operator": "OR", 
     "left": { 
     "operator": "STARTSWITH", 
     "$fieldRef": "id" 
     }, 
     "right": { 
     "operator": "OR", 
     "left": { 
      "operator": "STARTSWITH", 
      "$fieldRef": "orgId" 
     }, 
     "right": { 
      "operator": "AND", 
      "left": { 
      "operator": "STARTSWITH", 
      "$fieldRef": "firstname" 
      }, 
      "right": { 
      "operator": "STARTSWITH", 
      "$fieldRef": "lastname" 
      } 
     } 
     } 
    }, 
+0

versuchen Sie, odata zu deserialisieren? – Aviatrix

+0

Nein, nur deserialize zu Klassen .... – Akis

Antwort

1

Bitte beachten Sie die beliebtesten Bibliothek für diese Verwendung: json.NET

Dann können Sie das integrierte Visual Studio-Analyse-Tool für JSON zu Klassen verwenden, das gefunden wird unter: EDIT -> Paste special -> JSON als Klassen einfügen. Dies wird die Klassen generieren, die für Sie json benötigt werden.

Sobald Sie einen Verweis auf json.NET hinzugefügt haben, können Sie dann den folgenden ausführen deserialisieren:

RootObject deserialized = JsonConvert.DeserializeObject<RootObject>(jsonString); 

Were „RootObject“ ist die oberste Klasse für Sie json Struktur.

+0

Ok, danke, aber das Problem ist das Objekt ist nicht behoben es kann mehr verschachtelte Objekte haben .. – Akis