2 Stimmen

Deserialisiere JSON, damit ich es an Daten binden kann

Ich habe einen JSON-String, den ich deserialisieren und in eine Liste einfügen möchte. Ich habe meinen Code unten, kann mir bitte jemand in die richtige Richtung helfen? Wenn ich Response.Write(reports.Count); ausführe, nachdem ich versucht habe zu deserialisieren, zählt es 2 Einträge, aber ich scheine nicht daran binden zu können. Irgendwelche Ratschläge?

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

auf Seite_laden.....

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

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

    Response.Write(reports.Count);

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

1voto

Bala R Punkte 104615

Versuche dies (Die Main()-Methode stammt aus LinqPad, aber sie sollte dir eine Vorstellung geben)

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

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

    reports.Dump(); // <-- Dump() ist eine weitere LinqPad-Erweiterungsmethode, die ignoriert werden kann.
}

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X