Json.NET的松散类型选项类似于GSON



在GSON中,您可以反序列化为JsonObject,这反过来又允许您访问JsonElement并调用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的文档。

最新更新