程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成對Json字符串處置實例

C#完成對Json字符串處置實例

編輯:C#入門知識

C#完成對Json字符串處置實例。本站提示廣大學習愛好者:(C#完成對Json字符串處置實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成對Json字符串處置實例正文


本文實例講述了C#完成對Json字符串處置辦法,分享給年夜家供年夜家參考。詳細剖析以下:

普通關於web運用開辟人員來講對Json字符串都邑很熟習,其其實許多要求我們前往的都是Json字符串。那關於C#代碼若何處置Json字符串呢,.Net封裝了一個類叫做JavaScriptSerializer[MSDN Library 鏈接:http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];這個類供給了一個辦法。

上面這個是在快遞100往抓取的一個光滑油滑的快遞信息。關於我們有效的信息是快遞時光,快遞狀態。那我該若何來做。 

{"message":"ok","nu":"9356359685","ischeck":"1","com":"yuantong","status":"200","condition":"F00","state":"3","data":[{"time":"2014-09-01 21:19:06","context":"甘肅省武威市公司 已簽收 ","ftime":"2014-09-01 21:19:06"},{"time":"2014-09-01 09:09:28","context":"甘肅省武威市公司 派件中 ","ftime":"2014-09-01 09:09:28"},{"time":"2014-09-01 09:06:27","context":"甘肅省武威市公司 已支出 ","ftime":"2014-09-01 09:06:27"},{"time":"2014-08-31 19:53:47","context":"甘肅省蘭州市公司 已收回 ","ftime":"2014-08-31 19:53:47"},{"time":"2014-08-31 19:17:41","context":"甘肅省蘭州市公司 已支出 ","ftime":"2014-08-31 19:17:41"},{"time":"2014-08-28 23:44:26","context":"廣東省深圳市橫崗公司 已打包 ","ftime":"2014-08-28 23:44:26"},{"time":"2014-08-28 23:19:12","context":"廣東省深圳市橫崗公司 已收件 ","ftime":"2014-08-28 23:19:12"},{"time":"2014-08-28 21:55:35","context":"廣東省深圳市橫崗公司 已收件 ","ftime":"2014-08-28 21:55:35"}]}

 
1. 起首剖析Json字符串構造. Json{ message,nu,isCheck,Data{time,context,ftime}};我們先界說一個類,取名為PostalDeliveryModel,類名的構造須要與Json構造對應,稱號須要堅持一樣[疏忽年夜小寫],其次對應的字段說會主動轉換類型的,類型假如不相符會拋出異常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestJson
{
  public class PostalDeliveryModel
  {
    private string message = string.Empty;
    private string nu = string.Empty;
    private List<SingalData> data = new List<SingalData>();

    // Puclic的名字須要與Json字符串雷同,然則疏忽年夜小寫
    public string Message 
    {
      get { return this.message; }
      set { this.message = value; }
    }

    public string Nu
    {
      get { return this.nu; }
      set { this.nu = value; }
    }

    public List<SingalData> Data
    {
      get { return this.data; }
      set { this.data = value; }
    }
  }

  public class SingalData
  {
    private DateTime time = System.DateTime.Now;
    private string context = string.Empty;
    private DateTime ftime = System.DateTime.Now;

    public DateTime Time
    {
      get { return this.time; }
      set { this.time = value; }
    }

    public DateTime FTime
    {
      get { return this.ftime; }
      set { this.ftime = value; }
    }

    public string Context
    {
      get { return this.context; }
      set { this.context = value; }
    }
  }
}

2.對象甚麼好後只須要挪用辦法便可:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Web.Script.Serialization; // 此定名空間對應的框架是 System.Web.Extensions

namespace TestJson
{
  public class Program
  {
    public static void Main(string[] args)
    {
      string jsonStr = new StreamReader("JsonData.txt").ReadToEnd();
      PostalDeliveryModel mode = new JavaScriptSerializer().Deserialize<PostalDeliveryModel>(jsonStr);
      Console.ReadKey();
    }
  }
}

3.運轉監控model對象.數據曾經在對象外面了。

4.辦法回想,固然獲得到了。不外這類辦法類的Public屬性稱號必需與Json字符串對應,不曉得能否經由過程在Public屬性的下面加上[標簽]來映照,如許可以自界說稱號,不再須要與Json外面稱號一樣。感興致的同伙可以對此進一步研討一下!

願望本文所述對年夜家C#法式設計的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved