在没有编写额外对象类的情况下,将JSON字符串解析为C#中的JSON对象

问题描述 投票:3回答:1

我是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个回答
11
投票

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

dynamic magic = JsonConvert.DeserializeObject(jsonStr);
string name1 = magic.Name;    // "Apple"
string name2 = magic["Name"]; // "Apple"
© www.soinside.com 2019 - 2024. All rights reserved.