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