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

我是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 

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

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