亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中Json字符串的各種應用類實例講解

2020-01-24 01:24:41
字體:
來源:轉載
供稿:網友

在程序中任何事物及信息都可以用對象進行描述和承載,除了比較流行的xml之外,還有一種簡潔快速處理目標信息的形式那就是Json格式。

       首先Json格式有自己固定的格式:例如person這個對象就可以簡單的表示成{"name":"xxxx","age":12,"sex":"男"}形式。

Json格式的描述如下:先用{}包含需要表達的對象信息,在{}里使用PropertyName:Value進行對象屬性的描述,同時Json字符串可以實現多層嵌套。例如:Json數據:[{PropertyName:Value,PropertyName:Value},{PropertyName:Value,PropertyName:Value}],Json嵌套格式:{PropertyName:Value,PropertyName:{PropertyName:Value,PropertyName:Value}},理論上可以無限嵌套,但是這里建議嵌套最好不要超過3層。

       對Json格式有了了解之后,那我們如何在C#中使用Json以及將已經實現的對象與Json聯系起來。先個給出幾個命名空間

using Newtonsoft.Json;
using System.Runtime.Serialization;
using System.ServiceModel;
using Newtonsoft.Json.Linq;
using System.IO;
using System.Runtime.Serialization.Json;

這里需要注意的是 這些命名空間在 .net3.5及以上本版支持,同時必須在引用中添加 System.Runtime.Serialization.dll的引用。

這里主要使用到的類如下:

JsonSerializer ,StringWriter,StringReader ,JsonWriter,JsonConvert, DataContractJsonSerializer。

1.實現自定義類與Json進行相互轉化處理:

 public class Person  {    public  Person()    {    }    public Person(string Name, string Sex, int Age, string Address, PersonCharacter Character)    {      this.Name = Name;      this.Sex = Sex;      this.Age = Age;      this.Address = Address;      this.Character = Character;    }    public string Name { get; set; }    public string Sex { get; set; }    public int Age { get; set; }    public string Address { get; set; }    public PersonCharacter Character { get; set; }  }  public class PersonCharacter  {    public string Daode { get; set; }    public string Wenhua { get; set; }    public string Xiuyang { get; set; }  } public void ShowConvert()    {      Person person = new Person("lanar", "男", 24, "陜西", new PersonCharacter());      JsonSerializer serializer = new JsonSerializer();StringWriter sw = new StringWriter();serializer.Serialize(new JsonTextWriter(sw), person );Console.WriteLine(sw.GetStringBuilder().ToString());StringReader sr = new StringReader(@"{""Name"":""ppp"", ""Age"":"12"}");Person p1 = (Project)serializer.Deserialize(new JsonTextReader(sr), typeof(Person));Console.WriteLine(p1.Name+ "=>" + p1.Age);}

2. 契約方式:使用System.Runtime.Serialization.dll提供的DataContractJsonSerializer或者 JsonReaderWriterFactory實現

 public class Person   {     public  Person()     {     }     public Person(string Name, string Sex, int Age, string Address, PersonCharacter Character)     {       this.Name = Name;       this.Sex = Sex;       this.Age = Age;       this.Address = Address;       this.Character = Character;     }     [DataMember]     public string Name { get; set; }     [DataMember]     public string Sex { get; set; }     [DataMember]     public int Age { get; set; }      [DataMember]     public string Address { get; set; }     [DataMember]     public PersonCharacter Character { get; set; }   }   public class PersonCharacter   {     public string Daode { get; set; }     public string Wenhua { get; set; }     public string Xiuyang { get; set; }   }     public void ShowConvert()     {       Person person = new Person("許展鵬", "男", , "陜西", new PersonCharacter());       Person p = new Person() { Name = "四大圣地", Age = , Sex = "男", Character = new PersonCharacter() { Daode="sds", Wenhua="dasd", Xiuyang="zzz"} };       DataContractJsonSerializer serializer = new DataContractJsonSerializer(p.GetType());       string jsonText;       try       {         using (MemoryStream stream = new MemoryStream())         {           serializer.WriteObject(stream, p);           jsonText = Encoding.UTF.GetString(stream.ToArray());           Console.WriteLine(jsonText);         }         using (MemoryStream ms = new MemoryStream(Encoding.UTF.GetBytes(jsonText)))         {           DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person));           Person p = (Person)serializer.ReadObject(ms);         }       }       catch (Exception ex )       {         throw new Exception(ex.Message,ex);       }     }

使用契約方式必須在類及相關的屬性添加相關的契約修飾符: [DataContract], [DataMember] 內嵌的對象內部可以不用添加契約修飾符號的。

     以上只是最常用的應用方式,對于有特殊需求的實現可以使用第三方實現的json轉換類進行處理。在web頁面可以使用   引入System.Web.Script.Serialization命名空間使用 JavaScriptSerializer類實現簡單的序列化。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
疯狂做受xxxx欧美肥白少妇| 91精品国产91久久久久福利| 国产精品视频免费观看www| 尤物yw午夜国产精品视频| 亚洲 日韩 国产第一| 日韩最新中文字幕电影免费看| 国产三级精品网站| 亚洲欧洲一区二区三区在线观看| 欧美日产国产成人免费图片| 亚洲精品天天看| 国产一区二区三区在线看| 91久久在线播放| 亚洲精美色品网站| 久久91精品国产91久久跳| 日韩在线观看免费高清| 国模私拍一区二区三区| 亚洲欧美日韩国产中文| 97人人爽人人喊人人模波多| 精品久久久久久电影| 成人黄色短视频在线观看| 伊人久久久久久久久久| 欧美精品久久久久久久免费观看| 狠狠躁夜夜躁人人爽天天天天97| 亚洲一区制服诱惑| 欧美精品videossex88| 亚洲精品电影网站| 日韩精品在线免费| 精品国产一区二区三区久久久狼| 国产精品视频男人的天堂| 少妇av一区二区三区| 成人在线国产精品| 欧美日韩免费网站| 一区二区国产精品视频| 久久久91精品| 成人精品在线视频| 中文字幕av一区中文字幕天堂| 日产精品99久久久久久| 久久久久久久国产精品视频| 欧美另类精品xxxx孕妇| 午夜精品一区二区三区在线播放| 亚洲国产精品va| 久久久久久亚洲精品| 欧美性视频在线| 国产成人亚洲综合青青| 成人乱色短篇合集| 亚洲精品视频在线观看视频| 国产精品第一区| 国产精品视频在线播放| 亚洲va久久久噜噜噜久久天堂| 久久99久久99精品中文字幕| 日韩国产欧美精品在线| 久久精彩免费视频| 亚洲成成品网站| 欧美国产日本高清在线| 国产成人亚洲综合| 欧美—级a级欧美特级ar全黄| 综合激情国产一区| 美女撒尿一区二区三区| 中文国产成人精品久久一| 97**国产露脸精品国产| 久久五月天综合| 欧美人交a欧美精品| 亚洲999一在线观看www| 日韩视频亚洲视频| 成人福利视频在线观看| 久久中文字幕在线视频| 欧美精品福利视频| 中文字幕一区二区三区电影| 亚洲国产精品va在线看黑人动漫| 91精品91久久久久久| 69**夜色精品国产69乱| 亚洲全黄一级网站| 色噜噜国产精品视频一区二区| 国产suv精品一区二区三区88区| 亚洲色图美腿丝袜| 2018中文字幕一区二区三区| 亚洲欧美一区二区三区久久| 久久久精品免费| 亚洲色图美腿丝袜| 91成人在线播放| 亚洲国产日韩欧美在线动漫| 国产精品视频一区国模私拍| 国内精品久久久久伊人av| 亚洲精品国产免费| 日本a级片电影一区二区| 亚洲第一色在线| 亚洲国产精品嫩草影院久久| 在线观看中文字幕亚洲| 97超视频免费观看| 国产在线久久久| 国产精品吹潮在线观看| 92看片淫黄大片看国产片| 久久久精品免费视频| 国产视频精品va久久久久久| 亚洲欧美日韩图片| 精品国产鲁一鲁一区二区张丽| 久久免费福利视频| 欧美激情18p| 午夜精品久久久久久久99热| 日韩在线一区二区三区免费视频| 在线不卡国产精品| 欧美诱惑福利视频| 国产亚洲欧洲高清一区| 欧美午夜影院在线视频| 精品美女永久免费视频| 亚洲xxx自由成熟| 日韩av色综合| 日韩精品高清在线| 日本韩国在线不卡| 亚洲精品久久久久久久久久久久| 亚洲图片在区色| 国产精品久久久av久久久| 亚洲国产成人精品久久久国产成人一区| 在线性视频日韩欧美| 一本色道久久综合狠狠躁篇怎么玩| 另类专区欧美制服同性| 日韩中文字幕第一页| 日韩黄色高清视频| 久久在精品线影院精品国产| 久久久久在线观看| 亚洲精品欧美极品| 欧美亚洲激情视频| 国产日韩中文字幕在线| 亚洲欧美精品中文字幕在线| 日韩av在线免费观看一区| 国产视频精品久久久| 91影院在线免费观看视频| 日韩成人免费视频| 国产精品网站大全| 日韩国产欧美区| 国产精品美女主播在线观看纯欲| 国产在线视频不卡| 久久久精品欧美| 日韩亚洲欧美中文高清在线| 日韩精品在线观| 国内外成人免费激情在线视频| 国产区精品在线观看| 欧日韩不卡在线视频| 国产精品草莓在线免费观看| 欧美乱人伦中文字幕在线| 亚洲精品99久久久久中文字幕| 国产91免费看片| 亚洲电影免费观看高清完整版在线观看| 久久久国产一区| 中文字幕在线观看亚洲| 欧美精品成人91久久久久久久| 亚洲国产高清福利视频| 日韩高清av一区二区三区| 亚洲欧美国产精品va在线观看| 欧美日韩中文字幕日韩欧美| 久久视频精品在线| 国产成人在线亚洲欧美| 日韩电影中文字幕一区| 欧洲成人在线观看| 国产不卡精品视男人的天堂| 国产日韩精品入口| 热久久99这里有精品| 成人免费福利在线| 国产综合在线看| 97香蕉久久夜色精品国产| 国产精品久久在线观看| 国产精品老牛影院在线观看| 国产精品视频公开费视频| 狠狠躁夜夜躁人人躁婷婷91|