2016-10-11 7 views
0

Ich bin neu in JSON und versuche, Dinge herauszufinden. Ich war in der Lage, einen einfachen JSON Objekt/Array deserialisieren, aber wenn das JSON-Objekt JSON verschachtelt ist, wird sie mich nicht an folgenden Fehler:Komplexe JSon aus externer JSON-Datei deserialisieren

Newtonsoft.Json.Linq.Jobject to System.Collections.Generic.Dictionary

PS: Ich weiß nicht, die JSON-Struktur, die auf dem übergeben wird .NET-Programm, also musste ich JSON deserialisieren und einem dynamischen .NET-Objekt zuweisen. So etwas wie

dynamic test = JsonConvert.Deserialize<object>(json); 

und durchgeschleift das Testobjekt und dann zugewiesen, um ihn zu Dictionary<string,Object> Artikel

Irgendwelche Tipps oder Anregungen Deserialisierung für verschachtelte JSON zu lösen ??

+1

Sie sollten auch die JSON-String schreiben. – Mahdi

+0

{ \t "Schüler": [ \t \t { \t \t \t "Name": "Amit Goenka", \t \t \t "Major": "Physik" \t \t}, { \t \t \t „Namen „: "Smita Pallod", \t \t \t "Major": "Chemie" \t \t}, { \t \t \t "Name": "Rajeev Sen", \t \t \t "Major": "Mathematik" \t \t} \t] } – user3767641

+0

Beispiel JSON-String oben definiert – user3767641

Antwort

0

Sie müssen einige Klassen Ihre JSON Struktur darstellt:

public class Rootobject 
{ 
    public List<Student> Students { get; set; } 
} 

public class Student 
{ 
    public string Name { get; set; } 
    public string Major { get; set; } 
} 

Dann können Sie Ihre JSON zu einem Objekt der RootObject deserialisieren:

var students = JsonConvert.DeserializeObject<RootObject>(json);