前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[C#]Json.NET的动态视图--通过JObject解析json对象

[C#]Json.NET的动态视图--通过JObject解析json对象

作者头像
科控物联
发布2022-03-29 16:10:51
2.5K0
发布2022-03-29 16:10:51
举报
文章被收录于专栏:科控自动化

Json.NET的动态视图

如今JSON应用广泛。用于创建和消费JSON数据的一个流行的库是Json.NET。它提供了多种处理JSON数据的方式,可以直接解析成自定义类,也可以解析成类似于LINQ to XML这样的对象模型,后者被称为LINQ to JSON,它操作的类型通常是JObject、JArray和JProperty。它的使用方式类似于LINQ to XML,通过字符串进行访问,也可以执行动态操作。代码清单4-6使用了两种方式来处理同一个JSON数据。代码清单4-6 动态地使用JSON数据

代码语言:javascript
复制
string json = @" (本行及以下7行) 硬编码的JSON数据
    {
      'name': 'Jon Skeet',
      'address': {
        'town': 'Reading',
        'country': 'UK'
      }
    }".Replace('\'', '"');


JObject obj1 = JObject.Parse(json); <------ 将JSON解析成JObject

Console.WriteLine(obj1["address"]["town"]); <------ 使用静态类型视图

dynamic obj2 = obj1; (本行及以下1行) 使用动态类型视图
Console.WriteLine(obj2.address.town);

虽然只是一个简单的JSON,但其中包含了一个嵌套的对象。代码的后半部分展示了:访问JSON数据,既可以使用LINQ to JSON提供的索引器,也可以使用它提供的动态视图。

读者倾向于哪种方式呢?关于两种方式一直存在各种争议。不管是采用字符串字面量还是采用动态属性访问,两种方式都容易让人犯拼写错误。采用静态类型方式,因为采用字符串作为属性名称,所以可复用度高;采用动态类型方式,在原型设计时更便于阅读。

Windows Forms开发中关于线程的两条黄金法则不陌生:

  • 不要在UI线程中执行任何长耗时的操作;
  • 不要在UI线程以外访问UI的控件。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档