将json转换为C#数组?

有谁知道如何将包含json的字符串转换为C#数组。 我有这个从webBrowser读取text / json并将其存储到字符串中。

string docText = webBrowser1.Document.Body.InnerText; 

只需要以某种方式将json字符串更改为数组。 一直在看Json.NET,但我不确定这是否是我需要的,因为我不想将数组更改为json; 但反过来说。 谢谢您的帮助!

只需获取字符串并使用JavaScriptSerializer将其反序列化为本机对象。 例如,有这个json:

 string json = "[{Name:'John Simith',Age:35},{Name:'Pablo Perez',Age:34}]"; 

您需要创建一个名为C#的类,例如,Person定义如下:

 public class Person { public int Age {get;set;} public string Name {get;set;} } 

您现在可以通过执行以下操作将JSON字符串反序列化为Person数组:

 JavaScriptSerializer js = new JavaScriptSerializer(); Person [] persons = js.Deserialize(json); 

这是JavaScriptSerializer文档的链接 。

注意:上面的代码没有经过测试,但这就是测试它的想法 。 除非你正在做一些“异国情调”的事情,否则你应该没问题使用JavascriptSerializer。

是的,Json.Net就是您所需要的。 您基本上希望将Json字符串反序列化为objects数组。

看他们的例子 :

 string myJsonString = @"{ "Name": "Apple", "Expiry": "\/Date(1230375600000+1300)\/", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }"; // Deserializes the string into a Product object Product myProduct = JsonConvert.DeserializeObject(myJsonString); 
 using Newtonsoft.Json; 

在包控制台中安装此类此类适用于所有.NET版本,例如在我的项目中:我有DNX 4.5.1和DNX CORE 5.0,一切正常。

首先在JSON反序列化之前,你需要声明一个类来正常读取并在某处存储一些数据这是我的类:

 public class ToDoItem { public string text { get; set; } public string complete { get; set; } public string delete { get; set; } public string username { get; set; } public string user_password { get; set; } public string eventID { get; set; } } 

在HttpContent部分中,您通过GET请求请求数据,例如:

 HttpContent content = response.Content; string mycontent = await content.ReadAsStringAsync(); //deserialization in items ToDoItem[] items = JsonConvert.DeserializeObject(mycontent);