我目前正在开发一个通过 JSON 与 node.js 服务器通信的 c# 应用程序。我正在使用 Json.net进行反序列化。
我的问题是 JSON 消息有多种类型(在消息传入之前不知道是哪种类型),我需要根据消息的类型反序列化为正确的类型。
对此有优雅的方法吗? 我想到的可能(非理想)解决方案包括某种“包罗万象”的消息 DTO 类型,任何消息都可以反序列化为(不是好的);或某种“消息中的消息”,其中消息类型标识符被反序列化,然后子消息被反序列化为特定类型,但我觉得必须有更好的方法。
我仅限于 .Net 3.5,所以不能使用 dynamic
关键字。
谢谢
最佳答案
节点服务器必须在每个响应上发送 json 类型。另一种解决方案是在这种方式上使用动态类型:
JsonConvert.DeserializeObject<dynamic>(JSONtext)
关于C# 将 JSON 反序列化为各种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27837076/