程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c# 解析JSON的幾種辦法

c# 解析JSON的幾種辦法

編輯:C#入門知識

 

  欲成為海洋大師,必知曉海中每一滴水的真名。

剛開始只是想找一個轉換JSON數組的方法,結果在MSDN翻到一大把。

搜索過程中免不了碰到一大堆名詞:WCF => DataContract => DataMember => DataContractJsonSerializer,然後就是不停的引入命名空間。

這一段經歷,立即讓我就聯想到了上面引用的這句存在於某小說裡面巫師的話語。靜態語言真有點令人抓狂,不停的做准備,然後才可能開始工作。

對比

.NET下幾種常見的解析JSON方法 主要類 命名空間 限制 內建LINQ支持 DataContractJsonSerializer System.Runtime.Serialization.Json 通用 否 JavaScriptSerializer System.Web.Script.Serialization 只能在Web環境使用 否 JsonArrayJsonObjectJsonValue System.Json 只能在Silverlight中使用 是 JsonConvertJArrayJObjectJValueJProperty 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<intintint> add = (x, y) => x + y; 
 
var p1 = new Person { 
    Age = 12
    Alive = true
    Name = "lj"
    FavoriteFilms = new[] { "Up""Avatar" } 
}; 
var p2 =&

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved