gpt4 book ai didi

json - 有没有办法在使用 ServiceStack json 序列化期间忽略默认值?

转载 作者:行者123 更新时间:2023-12-05 01:10:32 24 4
gpt4 key购买 nike

我使用 Entity Framework 作为我的 ORM。它有 ComplexTypeAttribute (用于注释 POCO)。复杂类型的属性总是被实例化(使用默认构造函数),无论它们的值如何;因此,总是由 ServiceStack JsonSerializer 序列化(连同它们的属性)。

JSON.NET 有一个名为 DefaultValueHandling 的枚举,可以在这些情况下使用。

ServiceStack 有类似的东西吗?

例如:

class Person
{
string Name { get; set; }
Address Address { get; set; }
}

[ComplexType]
class Address
{
string Street { get; set; }
int Number { get; set; }
int PostalCode { get; set; }
}

当我序列化一个没有地址的人时,我得到了这个:
"{ Name: Jim, Address : { Number: 0, PostalCode: 0 } }" 

在 Json.Net 中,如果我将 DefaultValueHandling 设置为忽略,我只会得到
 "{ Name: Jim }"

最佳答案

是的,您可以通过以下方式获得 ignore properties with ServiceStack's JSON and Text serializers .

序列化程序也 support multiple hooks to customize serialization and deserialization .

JsConfig类显示所有可能的自定义。

关于json - 有没有办法在使用 ServiceStack json 序列化期间忽略默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com