2016-10-11 96 views
0

我是JSON的新手,並試圖找出東西。我能夠反序列化一個簡單的JSON對象/數組,但是當JSON對象已經嵌套JSON,它與下面的錯誤而失敗:從外部JSON文件反序列化複雜的JSon

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

PS:我不知道,傳遞給了JSON結構.NET程序,所以我有反序列化JSON並將其分配給動態.NET對象。像

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

,並通過一些測試對象循環,然後將其分配給Dictionary<string,Object>項目

任何提示或建議來解決反序列化嵌套JSON?

+1

你也應該張貼的JSON字符串。 – Mahdi

+0

{ \t 「學生」: \t \t { \t \t \t 「名稱」: 「阿米特戈恩卡」, \t \t \t 「專業」: 「物理學」 \t \t},{ \t \t \t「名稱「: 「史密塔Pallod」, \t \t \t 「專業」: 「化學」 \t \t},{ \t \t \t 「名稱」: 「拉傑夫森」, \t \t \t 「主要」: 「數學」 \t \t} \t] } – user3767641

+0

樣品JSON字符串如上文所定義 – user3767641

回答

0

您需要代表你的JSON結構中的一些類:

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

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

然後你就可以反序列化JSON你的RootObject的對象:

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