Newtonsoft.Json使用中返回Null值或抛出异常的整理

            string jsonstr_right = "{'k':'v','ks':{'kk':'vv','kk2':'vv2'},'c':2}";
            string jsonstr_wrong = "{dkfkd}";
            
            //JObject jobj1 = JObject.Parse(jsonstr_wrong);//当字符串不是json格式时报错
            JObject jobj = JObject.Parse(jsonstr_right);
            //JObject jobj = new JObject(jsonstr_wrong);//当字符串不是json格式时报错
            //JObject jobj = new JObject(jsonstr_right);//当字符串是json格式时,也报错,醉了
            //JObject jobj = new JObject(new { k="v", Name="name",Age=20});//传一个对象也报错,真不知道这个方法有什么用
            //object result = jobj["kk"];//当key不存在时返回null
            //string result = jobj.Value<string>("kk");//当key不存在时返回null
            //string result = jobj.Value<string>("cc");//当key不存在时返回null
            //int result = jobj.Value<int>("cc");//当key不存在时返回0
            //int result = jobj.Value<int>("k");//当value不能转换成指定类型时报错
            //object result = jobj["k"]["kk"];//任意一个key不存在就报错
            //object result = jobj.Value<JToken>("k").Value<string>("kk");//任意一个key不存在就报错
            //JObject//JSON对象
            //JArray//Json数组
            //JToken//用于存放Linq to JSON查询后的结果
            //JProperty//对象中的属性,以"key/value"形式

            string result = jobj.Value<string>("k");
            Console.WriteLine(result);
            Console.ReadKey();

猜你喜欢

转载自blog.csdn.net/mkcrawling/article/details/78979102