在 GSON 中,您可以反序列化为 JsonObject,这反过来允许您访问 JsonElements 并调用方法,例如 getAsString()、getAsInt() 等...
这对我的用例非常有用:我正在使用 JSON 序列化数据并通过网络发送它。数据与协议(protocol)标识符一起发送,协议(protocol)标识符告诉客户端如何处理数据。我不想为每种不同类型的协议(protocol)创建一个类,因此反序列化为 JsonObject 为我提供了很大的灵 active 。
我找不到在 C# 中执行此操作的类似方法。我想我需要推出自己的 JsonElement/Object/Array/Primitive 层次结构,但我真的不知道从哪里开始。这甚至是最好的方法吗?
我想:
将 C# 中的 json 反序列化为一种结构,使我可以访问特定类型的数据,而无需为数据使用类“骨架”。
编辑:
我仅限于 .NET 3.5
最佳答案
JSON.NET可以做到这一点——你不需要反序列化为一个类:
int value = JObject.Parse(myJsonString)["property"]["subProperty"].Value<int>();
请参阅 LINQ to JSON 的文档获取更多信息。
关于c# - 类似于 GSON 的 Json.NET 松散类型选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661352/