虚拟物体好坏

时间:2015-07-31 13:41:13

标签: c# json networking

我正在开发一个与服务器通信大量数据的项目。此数据采用json格式。我们最终创建了许多虚拟对象来解析json数据。这导致有很多只包含类成员的类。有没有更好的做事方式?

感谢

1 个答案:

答案 0 :(得分:0)

假设您正在使用NewtonSoft的JSON解析器或类似的东西,那么您有几个选择。这里通常的用例是反序列化为命名类型,因此:

var parsedMessage = JsonConvert.DeserializeObject<Message>(content.AsString());

如果您希望收到并希望避免的每种不同的JSON消息类型有多种类型,则可以执行以下操作:

var parsedMessage = JsonConvert.DeserializeObject<dynamic>(content.AsString());

这将为您提供一个可以检查的动态对象,并且还应该在给定其他Json库的情况下工作。或者,NetwtonSoft还提供以下方法:

public static T DeserializeAnonymousType<T>(string value, T anonymousTypeObject);

这将允许您反序列化为匿名类型的对象而不是动态对象。