在GSON中,您可以反序列化为JsonObject,这反过来允许您访问JsonElements并调用getAsString(),getAsInt()等方法......
这对我的用例非常有用:我使用JSON序列化数据并通过网络发送。数据与协议标识符一起发送,协议标识符告诉客户端如何处理数据。我不想为每种不同类型的协议创建一个类,因此反序列化为JsonObject可以让我有很大的灵活性。
我无法在C#中找到类似的方法。我想我需要滚动自己的JsonElement / Object / Array / Primitive层次结构,但我不知道从哪里开始。这甚至是最好的方法吗?
我想:
将C#中的json反序列化为一个允许我以特定类型访问数据的结构,而不使用类"骨架"对于数据。
编辑:
我受限于.NET 3.5
答案 0 :(得分:3)
JSON.NET可以执行此操作 - 您无需反序列化为类:
int value = JObject.Parse(myJsonString)["property"]["subProperty"].Value<int>();
有关详细信息,请参阅LINQ to JSON的文档。