常用的代码剪辑

JSON

System.Text.Json.Serialization

JsonExtensionData 处理溢出 JSON

反序列化时,可能会在 JSON 中收到不是由目标类型的属性表示的数据。可以将这些无法由目标类型的属性表示的数据储存在一个Dictionary<string, JsonElement>字典里面。

1
2
3
4
5
/// <summary>
/// 储存反序列化时候的溢出数据
/// </summary>
[JsonExtensionData]
public Dictionary<string, JsonElement> ExtensionData { get; set; }

JsonInclude 包含特定public字段和非公共属性访问器

在序列化或反序列化时,使用 JsonSerializerOptions.IncludeFields 全局设置或 [JsonInclude] 特性来包含字段(必须是public),当应用于某个属性时,指示非公共的 getter 和 setter 可用于序列化和反序列化。 不支持非公共属性。

1
2
3
4
5
6
7
8
9
10
11
/// <summary>
///
/// </summary>
[JsonInclude]
public long age = 1000;

/// <summary>
///
/// </summary>
[JsonInclude]
public string Name { private get; set; }

常用的代码剪辑
https://oujun.work/2022/02/07/some-code-excerpts.html
作者
欧俊
发布于
2022年2月7日
许可协议