.NET 6新特性试用 可写JSON DOM API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET 6新特性试用 可写JSON DOM API相关的知识,希望对你有一定的参考价值。

参考技术A

我们常用JSON的方式,是将类对象序列化/反序列化:

var user = new User Name = "My IO" ;
var json = JsonSerializer.Serialize(user);
var newUser = JsonSerializer.Deserialize (json);

而通过 System.Text.Json 提供的 可写JSON DOM API ,我们可以跳过创建类,直接操作JSON DOM。

可以使用下面2个类去创建JSON DOM:

示例代码如下:

可以看到,JsonObject和JsonArray可以嵌套使用生成JSON DOM节点树,而每一DOM节点上的属性都用键值对表示,并且同一数组中的不同节点的属性也可以不一样。

可以使用下面类去解析JSON DOM:

示例代码如下:

可以看到,通过属性名和索引轻松访问任意JSON DOM节点。

同时,也可以转换成JsonObject和JsonArray对象,并且可以使用 GetValue 方法获取强类型的值:

可以修改现有节点上的属性值:

也可以为节点加上属性:

甚至增加新节点:

虽然没有提供删除节点的方法,但是可以通过将节点设为null,序列化时忽略来变通实现:

希望本文对你了解可以JSON DOM API有所帮助。

以上是关于.NET 6新特性试用 可写JSON DOM API的主要内容,如果未能解决你的问题,请参考以下文章

.NET 6新特性试用 | System.Text.Json序列化代码自动生成

.NET 6 新特性 System.Text.Json 中的 Writeable DOM

.NET 6新特性试用 | TryGetNonEnumeratedCount

.NET 6新特性试用 | 总结:我最喜欢的5个特性

.NET 6新特性试用 | PeriodicTimer

.NET 6新特性试用 | 可空引用类型