在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文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句