C#中Json字符串的各种应用类实例讲解

2019-12-26 13:27:17王振洲

易采站长站为您分析C#中Json字符串的各种应用类实例讲解的相关资料,需要的朋友可以参考下

在程序中任何事物及信息都可以用对象进行描述和承载,除了比较流行的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进行相互转化处理:

 

 
  1. public class Person  { 
  2. public Person()  { 
  3. }  public Person(string Name, string Sex, int Age, string Address, PersonCharacter Character) 
  4. {  this.Name = Name; 
  5. this.Sex = Sex;  this.Age = Age; 
  6. this.Address = Address;  this.Character = Character; 
  7. }  public string Name { get; set; } 
  8. public string Sex { get; set; }  public int Age { get; set; } 
  9. public string Address { get; set; }  public PersonCharacter Character { get; set; } 
  10. }  public class PersonCharacter 
  11. {  public string Daode { get; set; } 
  12. public string Wenhua { get; set; }  public string Xiuyang { get; set; }