摘要:[轉貼]jQuery與JSON的資料傳遞 from kyleshen
(網頁前段與後端的資料傳遞 - 序列化 Serialization)
今天在論壇上看見一則討論
點部落的另外一位網友 -- 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 型別的型別解析程式。 |
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。