1. 程式人生 > >Newtonsoft.Json 操作 JSON 字符串

Newtonsoft.Json 操作 JSON 字符串

spa 格式 etime image 圖片 scrip res 字符 其中

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 字符串