Controller是MVC模式中的核心控制器,用于請求的分發以及對應的處理。在處理客戶端請求的時候,很常見的是前端傳遞JSON格式的數據給后端,而Controller就需要對這個JSON數據進行解析和處理。
public JsonResult ParseJson(string jsonData) { //利用Newtonsoft.Json這個類庫來解析JSON dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonData); //獲取JSON中的數據 string name = obj.Name; int age = obj.Age; return Json(new { Name = name, Age = age }); }
上面的代碼演示了Controller如何解析一個JSON數據并返回數據。首先,我們需要引用Newtonsoft.Json類庫,然后使用JsonConvert.DeserializeObject()方法將JSON數據解析成動態對象,然后就可以像訪問對象的屬性一樣,獲取JSON中的數據。
在獲取了JSON數據之后,我們還可以對數據進行處理,處理完成后將結果返回給客戶端。在.NET Core中,經常使用JsonResult來返回JSON格式的數據。JsonResult是一個ActionResult類型的對象,可以將對象、字典、列表等轉換成JSON格式的數據返回給客戶端。
public JsonResult HandleJson() { List<string> items = new List<string>() { "item1", "item2", "item3" }; Dictionary<string, string> dict = new Dictionary<string, string>() { { "key1", "value1" }, { "key2", "value2" } }; object obj = new { Name = "張三", Age = 18 }; //將對象、字典、列表等轉換成JSON數據 return Json(new { Items = items, Dict = dict, Obj = obj }); }
上面的代碼演示了如何將對象、字典、列表等轉換成JSON數據,并使用JsonResult返回給客戶端。返回的JSON數據可以是任何數據類型,只需要將數據轉換成JSON格式即可。