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

标签 c# json serialization gson

在 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/

相关文章:

java - 在Java中解析JSON数组

java - 当我使用 lombok 时,如何向 Gson 序列化/反序列化中具有空字符串值的传入变量添加默认值?

asp.net-mvc - 带有自定义 GenericIdentity 的 SerializationException?

c# - 在 .net 项目中使用 SilverLight 库 (dll)

c# - 使用 NetworkStream 错误地传输了较大的文件大小

javascript - 无法使用嵌套 json 数据在 Angular 1 中渲染导航菜单

c# - 一次性类

python - Django DRY 模型/表单/序列化程序验证

c# - session 丢失并且 Page().User.Identity.IsAuthenticated = false WebService 调用

c# - Elasticsearch NEST API-查询正确的索引