c#-与GSON类似的Json.NET松散键入选项

在GSON中,您可以反序列化为JsonObject,进而允许您访问JsonElements并调用诸如getAsString(),getAsInt()等方法.

这对于我的用例非常有用:我正在使用JSON序列化数据并通过网络发送数据.数据与协议标识符一起发送,该协议标识符告诉客户端如何处理数据.我不想为每种不同的协议都创建一个类,因此将其反序列化为JsonObject可以提供很多灵活性.

我找不到在C#中执行此操作的类似方法.我认为我需要滚动自己的JsonElement / Object / Array / Primitive层次结构,但是我真的不知道从哪里开始.那是最好的方法吗?

我想要:

将C#中的json反序列化为一种结构,该结构使我可以按特定类型访问数据,而无需为数据使用类“骨架”.

编辑:

我仅限于.NET 3.5

解决方法:

JSON.NET可以做到这一点-您不需要反序列化为一个类:

int value = JObject.Parse(myJsonString)["property"]["subProperty"].Value<int>();

有关更多信息,请参见LINQ to JSON的文档.

上一篇:春天-@ResponseStatus和@ResponseBody无法与@ExceptionHandler一起使用


下一篇:android-无法反序列化对象-预期为BEGIN_OBJECT,但在第1行第1列处为STRING