今天在論壇上看見一則討論
點部落的另外一位網友 -- kyleshen 有兩篇文章很淺顯易懂(超連結在文章最後面),推薦給大家。
但在觀看這兩篇文章以前,可以從這些文章入門
========================================================================================
你不可不知的 JSON 基本介紹 ( from AppleBOY )
陳鍾誠老師的文章 http://ccc.nqu.edu.tw/wd.html#js:object
2014/5/14補充:
VS 2013 Update 2推出以後,有提供 JSON file幫您做驗證,有助您撰寫JSON文檔
(點選圖片,可連到原文)
ASP.NET的朋友通常會用到 JSON.NET
JSON.NET 網站的首頁就有很簡單的範例,解釋這些事情:
(1). Serialize JSON(我個人的註解:這就是組成、產生JSON格式的內容)
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };
string json = JsonConvert.SerializeObject(product);
//{
// "Name": "Apple",
// "Expiry": "2008-12-28T00:00:00",
// "Sizes": [
// "Small"
// ]
//}
(2). Deserialize JSON(我個人的註解:這就是讀取JSON格式的內容)
string json = @"{
'Name': 'Bad Boys',
'ReleaseDate': '1995-4-7T00:00:00',
'Genres': [
'Action',
'Comedy'
]
}";
Movie m = JsonConvert.DeserializeObject(json);
string name = m.Name;
// Bad Boys
(3). LINQ to JSON(我個人的註解:如果資料量太大,您可以動手寫LINQ-to-SQL去查詢)
JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));
JObject o = new JObject();
o["MyArray"] = array;
string json = o.ToString();
// {
// "MyArray": [
// "Manual text",
// "2000-05-23T00:00:00"
// ]
// }
(4). Validate JSON(我個人的註解:驗證JSON格式的內容,驗證後才能取用。XML格式也常常需要驗證,已符合Schema)
JsonSchema schema = JsonSchema.Parse(@"{
'type': 'object',
'properties': {
'name': {'type':'string'},
'hobbies': {'type': 'array'}
}
}");
JObject person = JObject.Parse(@"{
'name': 'James',
'hobbies': ['.NET', 'LOLCATS']
}");
bool valid = person.IsValid(schema);
// true
JSON.NET的文件與範例都在這裡,相信您看了一次,就會知道怎麼用它
http://james.newtonking.com/json/help/index.html
完成上面的入門以後,相信後續的文章就能看得懂了。
微軟 msdn這個範例也很淺顯喔!
http://msdn.microsoft.com/zh-tw/library/hh923971(v=vs.85).aspx
點部落的另外一位網友 -- kyleshen 有兩篇文章
相關的文章可以參閱:
使用jQuery傳送物件JSON到ASP.NET MVC(from 黑暗執行緒)
http://blog.darkthread.net/post-2013-12-23-post-json-to-aspnet-mvc.aspx
微軟MVP小歐也有撰寫序列化的三篇文章:
序列化(1) - 概述- 小歐ou | 菜鳥自救會- 點部落
微軟 msdn文件 -- 序列化
http://msdn.microsoft.com/zh-tw/library/ms233843.aspx
除了上文提到的 JSON.NET之外
微軟自從 .NET 3.5起,也有推出 JavaScriptSerializer 類別
類別 | 說明 | |
---|---|---|
JavaScriptConverter | 為自訂型別轉換子提供抽象基底類別。 | |
JavaScriptSerializer | 為具有 AJAX 能力的應用程式提供序列化和還原序列化功能。 | |
JavaScriptTypeResolver | 提供實作自訂型別解析程式的抽象基底類別。 | |
ScriptIgnoreAttribute | 指定 JavaScriptSerializer 不會將公用屬性或公用欄位序列化。 此類別無法被繼承。 | |
SimpleTypeResolver | 提供 Managed 型別的型別解析程式。 |
留言列表