Newtonsoft.Json 操作 JSON 字符串
阿新 • • 發佈:2017-12-12
spa 格式 etime image 圖片 scrip res 字符 其中 一、把實體類轉化為 JSON 字符串,提取 JSON 字符串中部分屬性的值,Json轉化為JArray,JArray轉化為List.
Newtonsoft.Json介紹
在做開發的時候,很多數據交換都是以json格式傳輸的。而使用Json的時候,我們很多時候會涉及到幾個序列化對象的使用:DataContractJsonSerializer,JavaScriptSerializer 和 Json.NET即Newtonsoft.Json。大多數人都會選擇性能以及通用性較好Json.NET,這個不是微軟的類庫,但是一個開源的世界級的Json操作類庫,從下面的性能對比就可以看到它的其中之一的性能優點。
齊全的API介紹,使用方式簡單
一、把實體類轉化為 JSON 字符串,提取 JSON 字符串中部分屬性的值,Json轉化為JArray,JArray轉化為List.
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JasonTests { class Program { static void Main(string[] args) { SenderFromMQSearch senderFromMQSearch= new SenderFromMQSearch(); senderFromMQSearch.StartTime = new DateTime(2017, 9, 10); senderFromMQSearch.EndTime = new DateTime(2017, 9, 10); senderFromMQSearch.FlowType = "DataSender"; string paramsText = JsonConvert.SerializeObject(senderFromMQSearch); Console.WriteLine(paramsText); Console.ReadKey();string resultText = @"{ Status: true, ‘Msg‘: ‘成功‘, ‘Data‘: { ‘SiteData‘: [ { ‘SiteNo‘: ‘200012‘, ‘SiteName‘: ‘香港公司‘, ‘Total‘: 100 }, { ‘SiteNo‘: ‘214001‘, ‘SiteName‘: ‘江門騰達‘, ‘Total‘: 200 } ] } }"; JObject jObj = JObject.Parse(resultText); Console.WriteLine(jObj["Data"].ToString()); Console.WriteLine(jObj["Data"]["SiteData"].ToString()); JArray siteDataArray = JArray.Parse(jObj["Data"]["SiteData"].ToString()); IList<SiteInfo> list = siteDataArray.ToObject<IList<SiteInfo>>(); Console.ReadKey(); } public class SenderFromMQSearch { public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } public string FlowType { get; set; } } public class SiteInfo { public string SiteNo { get; set; } public string SiteName { get; set; } public int Total { get; set; } } } }
Newtonsoft.Json 操作 JSON 字符串