1. 程式人生 > >Newtonsoft.Json 使用 C#序列號json,反序列化物件

Newtonsoft.Json 使用 C#序列號json,反序列化物件

使用方法比較簡單  1.首先下載你需要的版本,然後在應用程式中引用Newtonsoft.Json.dll 檔案.  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

2.引用名稱空間  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

3.為了更好的理解,C#環境下我建立了一個Person類  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

4.利用Newtonsoft.Json序列號強型別集合,所以首先初始化一個強型別集合(迴圈建立了10個Person新增到了list集合中)  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

5.初始化上面的list集合為 json 格式字串  string serialStr = JavaScriptConvert.SerializeObject(list);  下面截圖可以看到 serialStr 已經把list序列號成json格式.  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

輸出到頁面後的json字串  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 

6.接著反序列化此json字串為list強型別集合    程式碼: List listPerson = new List();                    listPerson = JavaScriptConvert.DeserializeObject>(serialStr);  斷點處 監視 listPerson 集合,已經發現有10個Person物件,如下圖 
Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件
7.下面序列號和反序列化一個物件,我們這裡以 list[0] 這個Person 為例子    程式碼:string serialOne = JavaScriptConvert.SerializeObject(list[0]);  看斷點截圖此物件已經被序列號成json格式.  Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件 8.反序列化上面的serialOne 為Person物件    程式碼:Person p = JavaScriptConvert.DeserializeObject(serialOne,typeof(Person)) as Person;  從斷點監視視窗可以看到 此字串已經被反序列化成Person物件. 
Newtonsoft.Json <wbr>使用 <wbr>C#序列號json,反序列化物件
另外:

序列化JSON

 Classifyinfo = Json.JsonInfo("200", JsonConvert.SerializeObject(dt)); //這裡的dt是datatable

如果序列化JSON直接用的是datatable的話反序列化直接用

DataTable dt=(DataTable)JsonConvert.DeserializeObject<DataTable>(JsonData);