【问题标题】:Loose typing option for Json.NET similar to GSONJson.NET 的松散类型选项,类似于 GSON
【发布时间】:2014-10-30 19:07:01
【问题描述】:

在 GSON 中,您可以反序列化为 JsonObject,进而允许您访问 JsonElements 并调用 getAsString()、getAsInt() 等方法...

这对我的用例非常有用:我正在使用 JSON 序列化数据并通过网络发送它。数据与协议标识符一起发送,协议标识符告诉客户端如何处理数据。我不想为每种不同类型的协议创建一个类,因此反序列化为 JsonObject 可以让我有很大的灵活性。

我在 C# 中找不到类似的方法来执行此操作。我想我需要推出自己的 JsonElement/Object/Array/Primitive 层次结构,但我真的不知道从哪里开始。这甚至是最好的方法吗?

我想:

将 C# 中的 json 反序列化为一个结构,该结构允许我以特定类型访问数据,而无需为数据使用类“骨架”。

编辑:

我仅限于 .NET 3.5

【问题讨论】:

标签: c# json serialization gson


【解决方案1】:

JSON.NET 可以做到这一点——你不需要反序列化成一个类:

int value = JObject.Parse(myJsonString)["property"]["subProperty"].Value<int>();

有关更多信息,请参阅LINQ to JSON 的文档。

【讨论】:

  • 这正是我正在寻找的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
相关资源
最近更新 更多