内容目录
常用的 Json 序列化配置如下:
// json 序列化配置
private static readonly JsonSerializerOptions JsonSetting = new JsonSerializerOptions()
{
// 首字母小写
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
// 格式化输出,即自动换行、加上空格
WriteIndented = true,
};
在序列化的时候使用:
JsonSerializer.Serialize(obj, JsonSetting)
序列化配置的其他属性:
属性
AllowTrailingCommas | 获取或设置一个值,该值指示要反序列化的 JSON 有效负载中是否允许(和忽略)对象或数组中 JSON 值的列表末尾多余的逗号。 |
---|---|
Converters | 获取已注册的用户定义的转换器的列表。可将数值转换为字符串等; |
DefaultBufferSize | 获取或设置创建临时缓冲区时要使用的默认缓冲区大小(以字节为单位)。 |
DefaultIgnoreCondition | 指定一个条件,用于确定何时在序列化或反序列化过程中忽略具有默认值的属性。 |
DictionaryKeyPolicy | 将 字典的 Key 首字母生成小写 |
Encoder | 获取或设置要在转义字符串时使用的编码器,或为 null (要使用默认编码器的话)。 |
IgnoreNullValues | 获取或设置一个值,该值确定是否 null 在序列化过程中忽略值。 默认值为 false 。 |
IgnoreReadOnlyFields | 确定序列化过程中是否忽略只读字段。 如果某字段用 readonly 关键字进行标记,则该字段为只读字段。 默认值为 false 。 |
IgnoreReadOnlyProperties | 获取一个值,该值确定序列化过程中是否忽略只读属性。 默认值为 false 。 |
IncludeFields | 确定是否在序列化和反序列化期间处理字段。 默认值为 false 。 |
MaxDepth | 获取或设置序列化或反序列化 JSON 时允许的最大深度,默认值 0 表示最大深度为 64。 |
NumberHandling | 指定序列化或反序列化时应如何处理数字类型。 |
PropertyNameCaseInsensitive | 获取或设置一个值,该值确定在反序列化过程中属性名称是否使用不区分大小写的比较。 默认值为 false 。 |
PropertyNamingPolicy | 生成 Json 时首字母小写。 |
ReadCommentHandling | 定义反序列化过程中如何处理注释。 |
ReferenceHandler | 配置在读取和写入 JSON 时如何处理对象引用。 |
WriteIndented | 格式化输出 Json,即自动换行、空格、缩进。 |
文章评论