在我的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;}
}
有些人没有中间名,当我在收藏中保存某人的文档时,我不希望包含中间名。目前,没有中间名的人保存为:
{
"id": 1234,
"firstName": "John",
"middleName": null,
"lastName": "Smith"
}
这是正常行为吗?如果没有,我如何not在文档中包含值为NULL的中间名属性?
p.S.所有序列化/反序列化都由JSON.NET 处理
当您初始化Cosmos客户端时,可以这样做,有一个类似于JSON.Net.的序列化选项
CosmosClient client = new CosmosClient(yourConnectionString, new CosmosClientOptions()
{
SerializerOptions = new CosmosSerializationOptions()
{
IgnoreNullValues = true,
}
});
我想我找到了答案。看起来我可以告诉JSON.NET使用忽略具有NULL值的属性
NullValueHandling = NullValueHandling.Ignore
以下是文档:http://james.newtonking.com/archive/2009/10/23/efficient-json-with-json-net-reducing-serialized-json-size