我想将Json发送到服务器,我们使用Newtonsoft的Json.NET 1 来实现。 json可能包含类型信息(“$ type”= ... )。此类型信息可能指向未知类型。所述对象通常包含在object类型的属性中。
通过替换SerializationBinder
上的JsonSerializer
,我可以强制Json.NET反序列化包含在JObject
中的json。这几乎我想要的东西,唉 $ type 属性丢失了。
在活页夹中返回一个类型,该类型指向一个与自定义JsonConverter
协调一致的对象,它会吞噬有问题的对象,这样在写入时它会忠实地重新创建json,因为它是遇到。但是,当你点击$ type信息时,将不再调用转换器,显然我们在json.NET代码的不同分支中
可以处理序列化错误,尝试从阅读器中读取违规部分,然后可以手动创建JOBject并注释类型信息。
1)更具体 - 构建它包含在RavenDB.Abstractions中,但希望它们没有太多分歧。