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

本文探讨了使用C#解析JSON格式字符串的方法,并演示了如何通过JObject类解析正确的JSON数据。文章展示了如何获取JSON对象中的特定值,并讨论了在解析过程中可能遇到的错误情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值