最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#處理Json字符串實(shí)例分析

 更新時(shí)間:2015年02月22日 09:25:38   投稿:hebedich  
這篇文章主要通過(guò)具體的實(shí)例,向我們分析了C#如何處理Json字符串,需要的朋友可以參考下

Json字符串對(duì)于做web應(yīng)用的應(yīng)該很熟悉,其實(shí)在很多請(qǐng)求我們返回的都是Json字符串。那對(duì)于C#代碼如何處理Json字符串呢,.Net封裝了一個(gè)類(lèi)叫做JavaScriptSerializer[MSDN Library 鏈接http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];這個(gè)類(lèi)提供了一個(gè)方法。

          下面這個(gè)是我在快遞100往抓取的一個(gè)圓通的快遞信息。對(duì)于我們有用的信息是快遞時(shí)間,快遞狀況。那我該如何來(lái)做。 

復(fù)制代碼 代碼如下:

{"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":"甘肅省蘭州市公司 已發(fā)出 ","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字符串結(jié)構(gòu). Json{ message,nu,isCheck,Data{time,context,ftime}};我們先定義一個(gè)類(lèi),取名為PostalDeliveryModel,類(lèi)名的結(jié)構(gòu)需要與Json結(jié)構(gòu)對(duì)應(yīng),名稱(chēng)需要保持一樣[忽略大小寫(xiě)],其次對(duì)應(yīng)的字段說(shuō)會(huì)自動(dòng)轉(zhuǎn)換類(lèi)型的,類(lèi)型如果不符合會(huì)拋出異常

復(fù)制代碼 代碼如下:

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字符串相同,但是忽略大小寫(xiě)
        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.對(duì)象什么好后只需要調(diào)用方法即可:

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Web.Script.Serialization; // 此命名空間對(duì)應(yīng)的框架是 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.運(yùn)行監(jiān)控model對(duì)象.數(shù)據(jù)已經(jīng)在對(duì)象里面了。

    4.方法回顧,雖然獲取到了。不過(guò)這種方法類(lèi)的Public屬性名稱(chēng)必須與Json字符串對(duì)應(yīng),不知道可否通過(guò)在Public屬性的上面加上[標(biāo)簽]來(lái)映射,這樣可以自定義名稱(chēng),不再需要與Json里面名稱(chēng)一樣。求其他大牛在評(píng)論的時(shí)候指點(diǎn)一下。

以上所述就是對(duì)于c#如何處理json字符串的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • c#調(diào)用c語(yǔ)言dll需要注意的地方

    c#調(diào)用c語(yǔ)言dll需要注意的地方

    這篇文章主要介紹了c#調(diào)用c語(yǔ)言dll需要注意的地方,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#中Lambda表達(dá)式的用法

    C#中Lambda表達(dá)式的用法

    這篇文章介紹了C#中Lambda表達(dá)式的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#結(jié)合數(shù)據(jù)庫(kù)的數(shù)據(jù)采集器示例

    C#結(jié)合數(shù)據(jù)庫(kù)的數(shù)據(jù)采集器示例

    這篇文章主要介紹了C#結(jié)合數(shù)據(jù)庫(kù)的數(shù)據(jù)采集器,功能比較實(shí)用,需要的朋友可以參考下
    2014-07-07
  • C#中Hashtable和Dictionary的區(qū)別

    C#中Hashtable和Dictionary的區(qū)別

    Hashtable 和 Dictionary 都是 C# 中用于存儲(chǔ)鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了C#中Hashtable和Dictionary的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • C#?生成隨機(jī)數(shù)的方法示例

    C#?生成隨機(jī)數(shù)的方法示例

    本文介紹了C#中的Random類(lèi),用于生成隨機(jī)數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • C# WPF 通過(guò)委托實(shí)現(xiàn)多窗口間的傳值的方法

    C# WPF 通過(guò)委托實(shí)現(xiàn)多窗口間的傳值的方法

    這篇文章主要介紹了C# WPF 通過(guò)委托實(shí)現(xiàn)多窗口間的傳值的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • c#實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)示例分享

    c#實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)示例分享

    這篇文章主要介紹了c#執(zhí)行多條sql更新語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)的示例,大家參考使用吧
    2014-01-01
  • C# Lambda表達(dá)式select()和where()的區(qū)別及用法

    C# Lambda表達(dá)式select()和where()的區(qū)別及用法

    這篇文章主要介紹了C# Lambda表達(dá)式select()和where()的區(qū)別及用法,select在linq中一般會(huì)用來(lái)提取最后篩選的元素集合,在lambda表達(dá)式中通常用where得到元素集合,需要的朋友可以參考下
    2023-07-07
  • C#中迭代器和分部類(lèi)的使用

    C#中迭代器和分部類(lèi)的使用

    迭代器和分部類(lèi)是C#語(yǔ)言的兩種重要特性,本文主要介紹了C#中迭代器和分部類(lèi)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C#圖像處理的多種方法

    C#圖像處理的多種方法

    這篇文章主要為大家詳細(xì)介紹了C#圖像處理的多種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評(píng)論

崇阳县| 石门县| 万源市| 公主岭市| 南京市| 东乌珠穆沁旗| 福泉市| 巩留县| 石渠县| 林州市| 翼城县| 崇仁县| 志丹县| 四子王旗| 弥勒县| 青海省| 彭泽县| 渑池县| 灌南县| 蕲春县| 郯城县| 金沙县| 花莲市| 乌鲁木齐县| 江门市| 浏阳市| 大埔区| 衢州市| 扎赉特旗| 凤翔县| 余庆县| 高邑县| 响水县| 驻马店市| 钟祥市| 洪洞县| 邵武市| 奇台县| 秭归县| 界首市| 泰兴市|