【发布时间】:2013-07-15 15:22:37
【问题描述】:
尽管 JSV 被宣传为更快、更紧凑的 JSON 替代方案,但它不受许多平台和数据库的支持,而 JSON 支持。
如何让ServiceStack ORMLite使用JSON格式而不是JSV进行序列化和反序列化?
【问题讨论】:
标签: servicestack ormlite-servicestack
尽管 JSV 被宣传为更快、更紧凑的 JSON 替代方案,但它不受许多平台和数据库的支持,而 JSON 支持。
如何让ServiceStack ORMLite使用JSON格式而不是JSV进行序列化和反序列化?
【问题讨论】:
标签: servicestack ormlite-servicestack
是的,OrmLite 支持pluggable text serializers,它允许您为每个可用的 RDBMS 提供程序指定不同的复杂类型序列化策略,例如:
//ServiceStack's JSON and JSV Format
SqliteDialect.Provider.StringSerializer = new JsvStringSerializer();
PostgreSqlDialect.Provider.StringSerializer = new JsonStringSerializer();
//.NET's XML and JSON DataContract serializers
SqlServerDialect.Provider.StringSerializer = new DataContractSerializer();
MySqlDialect.Provider.StringSerializer = new JsonDataContractSerializer();
//.NET XmlSerializer
OracleDialect.Provider.StringSerializer = new XmlSerializableSerializer();
您还可以通过实现 IStringSerializer 来提供自定义序列化策略。
默认情况下,所有方言都使用现有的JsvStringSerializer,除了 PostgreSQL,由于其内置对 JSON 的支持,默认使用 JSON 格式。
【讨论】: