2

逆シリアル化してリストに入れたいjson文字列があります。私は以下のコードを持っています。誰かが私を正しい方向に助けてくれますか? Response.Write(reports.Count); を実行すると 逆シリアル化を試みた後、エントリは 2 つカウントされますが、バインドできないようです。何かアドバイス?

public class Report
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}



on page_load.....

    responseData = [{"FirstName":"George","LastName":"Clooney"},{"FirstName":"Brad","LastName":"Pitt"}]

    IList<Report> reports = new JavaScriptSerializer().Deserialize<IList<Report>>(responseData);

    Response.Write(reports.Count);

    ReportRepeater.DataSource = reports;
    ReportRepeater.DataBind();
4

1 に答える 1

1

これを試してください(これMain()はLinqPadのものですが、アイデアが得られるはずです)

void Main()
{
    string responseData = "[{\"FirstName\":\"George\",\"LastName\":\"Clooney\"},{\"FirstName\":\"Brad\",\"LastName\":\"Pitt\"}]";

    Report[] reports = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Report[]>(responseData);


    reports.Dump(); // <-- Dump() is  another LinqPad extension method that can be ignored.
}


public class Report
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
于 2013-02-04T17:10:26.527 に答える