Json.NET的松散类型选项类似于GSON
本文关键字:选项 类似于 GSON 类型 NET Json | 更新日期: 2023-09-27 18:28:33
在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的文档。