C#使用JObject解析JSON

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(); ;
        }

 

posted @ 2022-04-07 14:06  德平Zeng  阅读(1521)  评论(0编辑  收藏  举报