如何配置 ServiceStack Json Serializer 以将 bool 值写入 int 或 byte?

Posted

技术标签:

【中文标题】如何配置 ServiceStack Json Serializer 以将 bool 值写入 int 或 byte?【英文标题】:How can I configure ServiceStack Json Serializer to write bool values as int or byte? 【发布时间】:2013-11-19 11:18:18 【问题描述】:
 public class Test
    
        public string Name  get; set; 
        public bool IsActive get;set;
    

序列化为 "Name":"Test1","IsActive":false

但目标序列化结果是 "Name":"Test1","IsActive":0

PS:我可以通过 DataContract 使用缩短属性名称。但这是价值的一面。

【问题讨论】:

【参考方案1】:

您可以只为 bool 指定 SerializeFn,例如:

JsConfig<bool>.SerializeFn = value => value ? "1" : "0";

【讨论】:

JsConfig 是否也要反序列化.DeSerializeFn = c => c=="1";

以上是关于如何配置 ServiceStack Json Serializer 以将 bool 值写入 int 或 byte?的主要内容,如果未能解决你的问题,请参考以下文章

更改 ServiceStack.Text JSON 反序列化器的输出

使用 ServiceStack JsonSerializer 的 DataTable JSON 序列化

如何让 ServiceStack 序列化/反序列化具有正确类型的 expando 对象

使用带有 servicestack 的构造函数反序列化 json

VS 2008上的ServiceStack.redis配置

如何使用 ServiceStack JsonSerializer 序列化 Hashtable?