3

我想将 Json 发送到服务器,我们使用 Newtonsoft 的Json.NET 1来做到这一点。json 可能包含类型信息("$type" = ...)。此类型信息可能指向未知类型。所述对象通常包含在对象类型的属性中。


我想做的事:

  • 将未知类型的部分转换为JObject
  • 以某种方式保留类型信息,因此我可以稍后将相同的json 发送回客户端,因为它已传递给服务器。

到目前为止我尝试过的

  • 通过替换SerializationBinderon JsonSerializer,我可以强制 Json.NET 反序列化包含在JObject. 这几乎是我想要的,可惜$type属性丢失了。

  • 在活页夹中返回一个指向一个对象的类型,该对象将与一个习惯协调工作,该习惯JsonConverter会吞噬有问题的对象,以便在写入时它会忠实地重新创建遇到的 json。但是,当您点击 $type 信息时,将不再调用任何转换器,显然我们在 json.NET 代码的不同分支中

  • 可以处理序列化错误,尝试从阅读器读取违规部分,然后可以手动创建 JOBject 并注释类型信息。

1) 更具体 - RavenDB.Abstractions 中包含的它的构建,但希望它们没有太多分歧。

4

0 回答 0