【问题标题】:Parse JSON string to a JSON Object in C# without writing extra object classes在 C# 中将 JSON 字符串解析为 JSON 对象,而无需编写额外的对象类
【发布时间】:2014-07-16 19:14:30
【问题描述】:

我是 C# 新手,我正在构建一个 WPF 应用程序。现在我试图弄清楚如何解析这样的 JSON 字符串:

{
   "Name": "Apple", 
   "ExpiryDate": "2008-12-28T00:00:00","Price": 3.99, 
   "Sizes": ["Small","Medium","Large"]
}

神奇地变成一个 JSON 对象。

我在网上做了一些搜索,所有解决方案都需要编写一个与 JSON 字符串具有相同结构的对象类。上面的字符串只是一个例子,实际的 JSON 响应要复杂得多,所以我不想为它写一个庞大的类。

是否有一个库可以让我做类似的事情:

JsonObject jo = new JsonObject(JsonString);
string name = jo["Name"]; // And the name would have "Apple" as its value

【问题讨论】:

标签: c# wpf json visual-studio-2013


【解决方案1】:

我建议您使用 Json.NET 作为您的 JSON 库。以下代码创建一个您可以使用的dynamic 对象。顺便说一下,magic 实际上是您的示例中的 JObject 的一个实例。

dynamic magic = JsonConvert.DeserializeObject(jsonStr);
string name1 = magic.Name;    // "Apple"
string name2 = magic["Name"]; // "Apple"

【讨论】:

  • 您还可以将结果对象映射到一个类: var resultObj = JsonConvert.DeserializeObject(OBJECT.ToString());
  • 很好,我同意dynamic object 可能是最简单的方法。
  • @Tim S. 太棒了!这正是我想要的魔法!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 2019-07-12
  • 1970-01-01
相关资源
最近更新 更多