美文网首页
[NewtonSoft.Json] JObject 与 JTok

[NewtonSoft.Json] JObject 与 JTok

作者: Matsn | 来源:发表于2021-09-30 09:38 被阅读0次

    引入NewtonSoft.Json;

    有时需要动态一层一层解析Json数据,JObject是一个Json对象,但是当我们取某个key的值后,得到的是一个JToken对象,JOject就是继承自JToken,所以可以理解为,JOjbect实例,就是一种JToken类型,但是仅是其中的一种。JToken内部实现了 operator (type) 类型强转,包括常用的一些值类型bool, byte,short, ushort ,uint, ulong, double, TimeSpan, GUID, DateTime, DateTimeOffset等等 以及引用类型string的类型强转,也提供了这些类型的反向强转 type operator(JToken), 将它们强置转换为JToken类型。但是它不包括JObject的强转。通常JToken转JToken代码如下:

                    string json = "{}";    //json字符串
                    string sValue = string.Empty;
                    JObject joValue = JObject.Parse(json);
                    foreach (var key in keys)
                    {
                        JToken _token = joValue[key];
                        if(_token is null)
                        {
                            return default;
                        }
                        if(_token.Type == JTokenType.String)
                        {
                            sValue = (string)_token;
                            break;
                        }else if(_token.Type == JTokenType.Object)
                        {
                            joValue = JObject.FromObject(_token);
                        }
                    }
    

    相关文章

      网友评论

          本文标题:[NewtonSoft.Json] JObject 与 JTok

          本文链接:https://www.haomeiwen.com/subject/autenltx.html