可以更改整数的默认值吗? 当我发布一条JSON消息时,我没有设置一个int值,默认为0,这对我的应用程序来说似乎是一个问题,因为这个值是必需的。 那么我可以将int的默认值更改为-1而不是0吗?
答案 0 :(得分:1)
您可以使用以下内容注册自定义序列化程序:
JsConfig.IncludeNullValues = true;
JsConfig<int>.RawSerializeFn = i => i == 0 ? "-1" : i.ToString();
new Model { Int = 0 }.ToJson().Print(); // {"Int":-1}
不幸的是,它要求您通过指定(0)
全局配置来序列化默认值JsConfig.IncludeNullValues = true
,但可以限定为:
using (JsConfig.With(includeNullValues:true))
{
new Model { Int = 0 }.ToJson().Print(); // {"Int":-1}
}
在ServiceStack的下一个v4.0.36 +中,您将能够指定特定于类型的配置,例如:
JsConfig<int>.IncludeDefaultValue = true;
JsConfig<int>.RawSerializeFn = i => i == 0 ? "-1" : i.ToString();