在c#中将JSON字符串解析为JSON对象,而不需要编写额外的对象类

本文关键字:JSON 对象 不需要 字符串 中将 | 更新日期: 2023-09-27 18:13:11

我是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#中将JSON字符串解析为JSON对象,而不需要编写额外的对象类

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

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