【发布时间】:2017-03-27 14:48:32
【问题描述】:
我有两个应用程序通过 rest API 进行通信,通过 Json.NET 序列化
我遇到困难的部分是在两个应用程序之间传递继承结构:
ChildClass1 : BaseClass
ChildClass2 : BaseClass
我需要能够反序列化一个 BaseClass 的列表,这些 BaseClass 分别被反序列化为正确的相对类型:
JsonConvert.DeserializeObject<IEnumerable<BaseClass>>(json)
我知道 TypeNameHandling.All Serializer 设置,但我遇到的问题是每个应用程序上的类位于不同的命名空间中:
应用1:
App1.NameSpace.ChildClass1
应用 2:
App2.DifferentNameSpace.ChildClass1
因此,它不会自动转换它们。无法更改命名空间或为这些类使用协定库。
我需要编写自定义 JsonReader 吗?或者是否有一个设置我可以在序列化/反序列化时覆盖类名,以便我可以删除命名空间?
【问题讨论】:
标签: c# .net json serialization