1
我已经它们经由其余API通信的两个应用程序,经由Json.NETJson.NET类型转换
序列,我有与经过所述两个应用程序之间的继承结构困难的部分:
ChildClass1 : BaseClass
ChildClass2 : BaseClass
我需要能够反序列化已经各自独立地被反序列化到他们的正确的相对型基类的列表:
JsonConvert.DeserializeObject<IEnumerable<BaseClass>>(json)
我知道Ø F中的TypeNameHandling.All串行设置,但我的问题是,在每个应用程序中的类,在不同的名称空间:
应用1:
App1.NameSpace.ChildClass1
应用2:
App2.DifferentNameSpace.ChildClass1
由于对此,它不会自动转换它们。无法更改名称空间或为这些类使用合约库。
我是否需要编写自定义JsonReader?或者是否有一个设置,我可以用它来覆盖序列化/反序列化时的类名,以便我可以删除命名空间?
所以这是部分工作,通过使用这种方法我能够删除程序集名称/命名空间。然而,问题在于,它也在json开始时的List初始类型中混淆了。这是我在json开始进入列表前的所有事情:{“$ type”:“List'1”,“$ values”: –
GreatSamps
修复了它。需要将TypeNameHandling.All更改为TypeNameHandling.Object;谢谢你的帮助! – GreatSamps