Utf8JsonWriter类
下面研究一下如何写入json文件。这里需要使用Utf8JsonWriter类。
直接看代码:
这个类需要传递的参数类型是Stream或者Buffer,也就是向Stream或Buffer里面写入数据。
那么就提供一个buffer:
下面单独写一个方法,来生成json数据:
参数类型是Utf8JsonWriter。通过智能提示可以看到它提供了很多用于写入不同类型数据的方法。
写JSON对象
现在我想写一个json对象,那么就从WriteStartObject()开始,然后以WriteEndObject()结束:
这样的话,实际上我已经拥有了一个合法的json文档。
写属性和值
可以分开写属性和值:
也可以同时把属性和值写出来:
显示JSON数据
我先写这些内容,然后在Main方法里面调用一下:
首先需要告诉writer把它的内容flush给buffer,使用这个buffer我们可以获得writer的输出,这样的话就会得到一个byte数组,然后把这个byte数组转化为字符串,这样就可以在控制台显示它了:
运行一下看看效果:
没啥太大的问题,就是格式不好看。
对输出进行格式化
.NET Core提供了一个JsonWriterOptions类,它可以对Writer进行一些设置。
这里对输出进行了缩进,最后把这个options传递给Utf8JsonWriter的构造函数即可。
再次运行:
现在好看多了。