如何将JSON对象数组反序列化为c#结构

mik*_*eck 8 c# asp.net json deserialization

我有一个json字符串,它是通过序列化一个对象数组创建的:

[
    {
        "html": "foo"
    },
    {
        "html": "bar"
    }
]
Run Code Online (Sandbox Code Playgroud)

如何将其反序列化为某个可迭代的C#结构?我试过这段代码,但是我收到了No parameterless constructor defined for type of 'System.String'.错误:

string[] htmlArr = new JavaScriptSerializer().Deserialize<String[]>(html);
Run Code Online (Sandbox Code Playgroud)

我想要获得的是一个可迭代的结构来获取每个'html'对象.

nek*_*man 10

为每个JSON对象使用一个类.例:

public class HtmlItem
{
   [DataMember(Name = "html")]
   public string Html { get; set; }
}

JavaScriptSerializer ser = new JavaScriptSerializer();          

// Serialize
string html = ser.Serialize(new List<HtmlItem> {
   new HtmlItem {  Html = "foo" },
   new HtmlItem {  Html = "bar" }
});

// Deserialize and print the html items.        
List<HtmlItem> htmlList = ser.Deserialize<List<HtmlItem>>(html);
htmlList.ForEach((item) => Console.WriteLine(item.Html)); // foo bar
Run Code Online (Sandbox Code Playgroud)