尽管JSV被提升为JSON的更快和更紧凑的替代品,但许多平台和数据库都不支持它,而JSON则是。
如何使用JSON格式而不是JSV使ServiceStack ORMLite序列化和反序列化?
答案 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格式。