Winform中來自web接口的Json解析——反序列化

在MVC中,解析Json可以直接引用System.Web.Script.Serialization;
例如:
JavaScriptSerializer js = new JavaScriptSerializer();
List<***> item = js.Deserialize<List<***>>(result);

這樣就可以把result這個json字符串轉換成已經寫好的list<*>模板中。

但是在winform中我們不能引用System.Web.Script.Serialization;
這個時候可以直接用一個神器——newtonsoft.json.dll
這個dll非常好用,可以去官網看,進去就讓我感覺這個dll做的真是爲民着想,還不要錢,開源,收到的捐贈也是很多,畢竟確實用起來方便。

首先我們去官網下載 newtonsoft.json.dll
地址:http://www.newtonsoft.com/json

然後在VS中引用這個dll文件。
點擊頂部菜單的工具-選擇工具箱項
然後會出來一個界面,頂部點.NETFrameWork,然後點瀏覽,找到你下載好的dll文件。下載的dll文件有2.0 2.5 3.0 3.5 4.0 4.5這幾個版本,對應你裝的.NetFramework的版本。

我自己在添加這個dll的時候,沒有成功,顯示文件XXX無效。
百度半天,找到一個方法,說是直接把dll文件往.NetFramework那個界面拖,我還是沒成功。然後好奇點了點別的地方,發現有個地方非常好用,以後添加dll文件都可以在這裏:

這裏寫圖片描述

點擊 管理NuGet程序包

這裏寫圖片描述

在輸入框內搜索你要找的dll文件,會自動搜索到匹配的,然後直接點擊安裝就行了。
試着搜了別的dll文件,MVC的一些dll文件都可以添加上去,非常方便。

正題,開始進行json的反序列化

List<Model> result = JsonConvert.DeserializeObject<List<Model>>(Json_string);

一個是把json轉換成寫好的model,可以一一對應的轉換,假如Json中有Name、Date、Age三個變量,一共有十組信息,我的People類也有這三個成員,那麼我建立一個List< Peopel >,上面這個語句就會自動把result這個list裏填充滿十個People,每個分別是json中的數據一一對應的。
給個官方的示例圖:
這裏寫圖片描述
這裏寫圖片描述

想看MVC解析API返回json字符串方法的,可以看我另一篇博客。
http://blog.csdn.net/hezepeng1996/article/details/51955829

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章