在ServiceStack ORMLite中使用JSON序列化程序而不是JSV

时间:2013-07-15 15:22:38

标签: servicestack ormlite-servicestack

尽管JSV被提升为JSON的更快和更紧凑的替代品,但许多平台和数据库都不支持它,而JSON则是。

如何使用JSON格式而不是JSV使ServiceStack ORMLite序列化和反序列化?

1 个答案:

答案 0 :(得分:2)

是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格式。