0
當我反序列化到對象列表的工作,但是當我反序列化到列表類型的對象時出錯。任何想法如何使其工作?c#反序列化JSON列表的對象錯誤
頁面名稱:testjson.aspx
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
namespace Web.JSON
{
public partial class testJson : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string json = "[{\"SequenceNumber\":1,\"FirstName\":\"FN1\",\"LastName\":\"LN1\"},{\"SequenceNumber\":2,\"FirstName\":\"FN2\",\"LastName\":\"LN2\"}]";
//This work
IList<Person> persons = new JavaScriptSerializer().Deserialize<IList<Person>>(json);
//This error
//People persons = new JavaScriptSerializer().Deserialize<People>(json);
Response.Write(persons.Count());
}
}
class Person
{
public int SequenceNumber { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class People : List<Person>
{
public People()
{
}
public People(IEnumerable<Person> init)
{
AddRange(init);
}
}
錯誤消息: 值 「System.Collections.Generic.Dictionary`2 [System.String,System.Object的]」 的類型是不是「JSON .Person「,不能用於此通用集合。
dahrnsbrak,工作很好,非常感謝! – 2011-02-23 20:12:37
高興地幫助 - 你能標記爲接受的答案? – 2011-02-24 17:03:30
太棒了!我花了很多時間試圖找出如何在找到您的帖子之前反序列化我的自定義對象。非常感謝。 – csigrist 2012-05-01 15:43:18