Sam*_*Sam 6 azure json.net azure-cosmosdb
在我的 DocumentDb 文档中,我不想包含具有 NULL 值的属性。例如,我有以下 POCO 课程。
public class Person
{
[JsonProperty(PropertyName="id")]
public int PersonId {get; set;}
[JsonProperty(PropertyName="firstName")]
public string FirstName {get; set;}
[JsonProperty(PropertyName="middleName")]
public string MiddleName {get; set;}
[JsonProperty(PropertyName="lastName")]
public string LastName {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
有些人没有中间名,当我将某人的文档保存在我的集合中时,我不希望包含中间名。目前,没有中间名的人被保存为:
{
"id": 1234,
"firstName": "John",
"middleName": null,
"lastName": "Smith"
}
Run Code Online (Sandbox Code Playgroud)
这是正常行为吗?如果不是,如何在文档中不包含具有 NULL 值的中间名属性?
PS 所有序列化/反序列化均由 JSON.NET 处理
小智 8
您可以在初始化 Cosmos 客户端时执行此操作,有一个类似于 JSON.Net 的序列化选项。
CosmosClient client = new CosmosClient(yourConnectionString, new CosmosClientOptions()
{
SerializerOptions = new CosmosSerializationOptions()
{
IgnoreNullValues = true,
}
});
Run Code Online (Sandbox Code Playgroud)
我想我找到了答案。看起来我可以告诉 JSON.NET 使用 NULL 值忽略属性
NullValueHandling = NullValueHandling.Ignore
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |