JSON 介紹
JSON 是一種簡單輕量的資料交換格式。可用 陣列 [ ] 與 物件 { } 來寫入資料,
資料的名稱與值使用 name : value 表示,名稱與值的中間以 : 隔開。
範例如下:
[{"Age":30,"Name":"Bill"},{"Age":28,"Name":"Jeson"}]
本文介紹基本的物件轉換為文字[Serialize],及再將文字轉換為物件[Deserialize]的範例
引用元件
到官網下載JSON.NET,將Newtonsoft.Json.dll加入至參考。
加入using,便可使用JSON.NET。
using Newtonsoft.Json;
Serializing序列化
將建立的物件序列化成 json 文字
public ActionResult JsonConvertView()
{
// 建立物件
ArrayList aryPeople = new ArrayList();
Hashtable htPeople = new Hashtable();
htPeople["Name"] = "Bill";
htPeople["Age"] = 30;
aryPeople.Add(htPeople);
htPeople = new Hashtable();
htPeople["Name"] = "Jeson";
htPeople["Age"] = 28;
aryPeople.Add(htPeople);
// 序列化
string jsonString = JsonConvert.SerializeObject(aryPeople);
ViewBag.jsonString = jsonString; // 輸出結果
return View();
}
前端頁面顯示結果
Deserialize反序列
將剛剛的json 文字再轉換回原本的物件
public ActionResult JsonConvertView()
{
// 建立物件
ArrayList aryPeople = new ArrayList();
Hashtable htPeople = new Hashtable();
htPeople["Name"] = "Bill";
htPeople["Age"] = 30;
aryPeople.Add(htPeople);
htPeople = new Hashtable();
htPeople["Name"] = "Jeson";
htPeople["Age"] = 28;
aryPeople.Add(htPeople);
// 序列化
string jsonString = JsonConvert.SerializeObject(aryPeople);
ViewBag.jsonString = jsonString; // 輸出結果
// 將剛剛的文字轉換為物件
ArrayList aryNewPeople = JsonConvert.DeserializeObject<ArrayList>(jsonString);
ViewBag.aryNewPeople = aryNewPeople; //輸出結果
return View();
}
前端頁面顯示結果