当前位置:编程学习 > JS >>

c# 解析JSON的几种办法

 

 
欲成为海洋大师,必知晓海中每一滴水的真名。

刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把。

搜索过程中免不了碰到一大堆名词:WCF => DataContract => DataMember => DataContractJsonSerializer,然后就是不停的引入命名空间。

这一段经历,立即让我就联想到了上面引用的这句存在于某小说里面巫师的话语。静态语言真有点令人抓狂,不停的做准备,然后才可能开始工作。

对比

.NET下几种常见的解析JSON方法 主要类 命名空间 限制 内建LINQ支持 DataContractJsonSerializer System.Runtime.Serialization.Json 通用 否 JavaScriptSerializer System.Web.Script.Serialization 只能在Web环境使用 否 JsonArray、JsonObject、JsonValue System.Json 只能在Silverlight中使用 是 JsonConvert、JArray、JObject、JValue、JProperty Newtonsoft.Json 通用 是

准备数据

实体类:

    [DataContract] 
    public class Person 
    { 
        [DataMember(Order = 0, IsRequired = true)] 
        public string Name { get; set; } 
 
        [DataMember(Order = 1)] 
        public int Age { get; set; } 
 
        [DataMember(Order = 2)] 
        public bool Alive { get; set; } 
 
        [DataMember(Order = 3)] 
        public string[] FavoriteFilms { get; set; } 
 
        [DataMember(Order = 4)] 
        public Person Child { get; set; } 
    } 

定义:

Action<object> log = o => Console.WriteLine(o); 
Func<int, int, int> add = (x, y) => x + y; 
 
var p1 = new Person { 
    Age = 12, 
    Alive = true, 
    Name = "lj", 
    FavoriteFilms = new[] { "Up", "Avatar" } 
}; 
var p2 =&
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,