C#使用JObject解析JSON
阿新 • • 發佈:2022-04-07
C#中很難直接操作JsonResult型別,也沒有提供更好的方法。 解決方案:序列化成Json字串,再轉換為JObject型別。
操作return Json(result);先序列化成Json字串,再轉換為JObject型別
1 ActionResult ar= em.Reject(morder.ToString(), remark, Duser, "DINGDING", taskresult); //return Json(result); 2 var jsonAR = Newtonsoft.Json.JsonConvert.SerializeObject(ar); 3 JObject jo = JObject.Parse(jsonAR);//將Json字串轉為JObject型別,後續可方便直接取值 4 var ARData = jo["Data"]; 5 var ARDataErrors = jo["Data"]["Errors"][0].ToString();
操作Json
static void Main(string[] args) { string strJson = "{\"Name\" : \"Ben\", \"Age\" : 30, \"education\" : [{\"School\" : \"university\" , \"year\":4},{\"School\" : \"highschool\" , \"year\":4}] }"; JObject jObject = JObject.Parse(strJson); string userName = (string)jObject["Name"]; Console.WriteLine(userName);//CPU JArray jsonColleagues = (JArray)jObject["education"]; Console.WriteLine(jsonColleagues.Count()); Console.WriteLine(jsonColleagues.Count); Console.WriteLine((string)((JArray)jObject["education"])[0]["School"]); Console.WriteLine((string)jsonColleagues[0]["School"]); Console.WriteLine((string)jsonColleagues[0]["year"]); Console.ReadLine(); ; }