.NET Core 3.0 新 JSON API - Utf8JsonWriter
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的构造函数即可。
再次运行:
现在好看多了。
.NET Core 3.0 新 JSON API - Utf8JsonWriter相关推荐
- .NET Core 3.0 新 JSON API - JsonSerializer
JsonSerializer 前面几节的内容可能稍微有点底层,我们大部分时候可能只需要对C#的类进行串行化或者将JSON数据反串行化成C#类,在.NET Core 3.0里面,我们可以使用JsonS ...
- .NET Core 3.0 新 JSON API - JsonDocument
JsonDocument类 JsonDocument是基于Utf8JsonReader 构建的.JsonDocument 可分析 JSON 数据并生成只读文档对象模型 (DOM),可对模型进行查询, ...
- Razor Page–Asp.Net Core 2.0新功能 Razor Page介绍
Razor Page介绍 前言 上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为web ...
- ASP.NET Core 1.0开发Web API程序
.NET Core版本:1.0.0-rc2 Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2 开发及运行平台:Window ...
- Entity Framework Core 2.0 新特性
一.模型级查询过滤器(Model-level query filters) ef core2.0包含了一个新特性,我们叫他模型级查询过滤器(Model-level query filters).此特性 ...
- 在.Net Core 3.0中尝试新的System.Text.Json API
.NET Core 3.0提供了一个名为System.Text.Json的全新命名空间,它支持reader/writer,文档对象模型(DOM)和序列化程序.在此博客文章中,我将介绍它如何工作以及如何 ...
- [译]试用新的System.Text.Json API
译注 尝试新的System.Text.Json API 对于.NET Core 3.0,我们 提供了一个名为System.Text.Json的全新命名空间 ,支持读取器/写入器,文档对象模型(DOM) ...
- asp.net core 2.0 web api基于JWT自定义策略授权
JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端 ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传...
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
最新文章
- “XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
- 网页变灰配合全国哀悼日的css代码
- 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
- [leetcode] 72.编辑距离
- 第三章 最小化SpringXml 配置
- LightweightCTI开发实录(5)板卡适配器概述
- 日期上午下午怎么用date存_Java12都要出来了,你还在使用Date操作日期吗?
- c++怎么输入带有空格的字符串_字符串,啥东东?
- c语言fread参数,C语言fread函数
- 华为云OBS Requests specifying Server Side Encryption with KMS managed keys require Signature Version 4.
- ACCESS入门教程(五)数据的类型和属性
- 超全!Python 处理日期与时间的全面总结!
- 一个基于互联网医疗的创业公司,三年是一个收获
- ESLint和Prettier的配置
- 关于互联网流量劫持分析及可选的解决方案
- 2020年UI和UE的设计流行趋势揭秘!设计师最爱的是?
- python语言幂运算符号_python的基础运算符号
- 大数据应用安全研究报告
- python爬虫——爬取简书文章
- 科技企业上市就是一大悲剧(下)
热门文章
- SQL Server数据库同步问题分享[未完,待续](一)
- JS设置文本框只能是数字和小数点。
- PHP如何防采集方法代码
- 字节与浮点型转换软件_如何与另一个防病毒软件一起运行恶意软件字节
- macos剪切_如何使用macOS的内置“ Kill and Yank”作为替代剪切和粘贴
- Xtrabackup备份MySQL
- js 深复制一个对象
- postgresql 查看page, index, tuple 详细信息
- 配置Tomcat的日志系统
- 金山安全实验室公布中国互联网六大类钓鱼网站