這篇文章將為大家詳細講解有關C#怎樣通過匿名類直接使用訪問JSON數據詳解,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創新互聯專注于信宜企業網站建設,自適應網站建設,電子商務商城網站建設。信宜網站建設公司,為信宜等地區提供建站服務。全流程定制設計,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務
實驗目的
在C#和Rest/Restful以及其它的Web服務交互過程中,大量使用到JSON傳遞數據,如何快捷的轉化C#對象到JSON和轉化JSON到C#對象,成為開發過程中頻繁使用的內容。傳統的方式下,我們需要定義和JSON對象同步的C#類并實例化成對象以遍操作,這里提供了一個直接使用匿名類的方式,相較于傳統方式可以少定義一些類,操作更加簡便。
開發環境
實現步驟
1.創建工程:控制臺程序,命名為JsonTest
2.添加組件:增加JSON組件
第一步:右鍵點擊項目,選擇“管理NuGet程序包”菜單
第二步:在"NuGet: JsonTest"選項卡中選擇瀏覽,輸入json后回車,選擇Newtonsoft.Json,選擇版本后點擊安裝按鈕。
第三步:完成安裝
3.編寫代碼:簡單結構
JSON格式如下:
{ "name":"張三", "sex":"男", "birthday": "2018-02-09" }
CSharp代碼
using Newtonsoft.Json; using System; namespace JsonTest { class Program { static void Main(string[] args) { string jsonstr = JsonConvert.SerializeObject(new { name = "張三", sex = "男", birthday = "2018-02-09" }); Console.WriteLine("對象序列化后的字符串為:"); Console.WriteLine(jsonstr); Console.WriteLine("\n\n字符串反序列化為對象后的值為:"); var jsonobj = JsonConvert.DeserializeObject<dynamic>(jsonstr); Console.WriteLine("姓名:" + jsonobj.name); Console.WriteLine("性別:" + jsonobj.sex); Console.WriteLine("生日:" + jsonobj.birthday); Console.Read(); } } }
執行結果
4.編寫代碼:數組的操作
CSharp代碼
using Newtonsoft.Json; using System; namespace JsonTest { class Program { static void Main(string[] args) { string jsonstr = JsonConvert.SerializeObject(new[]{ new { name = "張三", sex = "男", birthday = "2018-02-09" }, new{ name = "李四", sex = "男", birthday = "2018-02-09" } }); Console.WriteLine("對象序列化后的字符串為:"); Console.WriteLine(jsonstr); Console.WriteLine("\n\n字符串反序列化為對象后的值為:"); var jsonarr = JsonConvert.DeserializeObject<dynamic[]>(jsonstr); foreach (var jsonobj in jsonarr) { Console.WriteLine("姓名:" + jsonobj.name); Console.WriteLine("性別:" + jsonobj.sex); Console.WriteLine("生日:" + jsonobj.birthday); Console.WriteLine("---------------"); } Console.Read(); } } }
執行結果
關于“C#怎樣通過匿名類直接使用訪問JSON數據詳解”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
新聞標題:C#怎樣通過匿名類直接使用訪問JSON數據詳解
本文URL:http://m.newbst.com/article26/jeipcg.html
成都網站建設公司_創新互聯,為您提供App開發、網站排名、定制網站、軟件開發、品牌網站設計、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯