.NET中怎么解析JSON字符串数据

JSON数据格式在当前前端开发中已经非常流行了,因为他简洁明了的语法(结构简洁,容易理解,适用性强)不仅受到开发者的青睐也有利于网络数据的传输,由于在数据传输的时候一般都会以JSON字符串的形式进行传递,所以无论前端还是后端都需要对他进行解析,解析为JSON对象后才能很方便的进行数据操作,因此在.NET的WEB开发中如何对JSON字符串进行解析是一个开发者应该了解的技术...

jesen
1
2020-03-20 07:15:01
文档目录
我的书签
 

DataContractJsonSerializer类解析JSON

官方说明:将对象序列化为 JavaScript 对象表示法 (JSON),并将 JSON 数据反序列化为对象,需要引用 System.Runtime.Serialization.dll,命名空间 System.Runtime.Serialization.Json,被序列化的类需要加 Windows Communication Foundation (WCF)  数据协定声明,否则会抛出异常 InvalidDataContractException,(正在序列化的类型不符合数据协定规则。 例如,DataContractAttribute 特性未应用于该类型),代码如下:
[DataContract(Name = "sCat")]
class Cat
{
    [DataMember(Name = "sname")]
    private string name = "scat";
    [DataMember(Name = "sName")]
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    [DataMember(Name = "sage")]
    private int age = 10;
}
class Program
{
    static void Main(string[] args)
    {
            
        Cat cat = new Cat();
        DataContractJsonSerializer js = new DataContractJsonSerializer( typeof (Cat));
        MemoryStream ms = new MemoryStream(); //使用内存流  
        js.WriteObject(ms, cat);
        ms.Position = 0;
        string json = Encoding.Default.GetString(ms.ToArray());
        Console.WriteLine(json);

        MemoryStream ms_new = new MemoryStream(Encoding.Default.GetBytes(json));
        Cat new_cat = js.ReadObject(ms_new) as Cat;
        Console.WriteLine(new_cat.Name);
    }
}
友情提示