Mit JsonConvert.DeserializeObject Json Deserialisieren, um eine C# POCO-Klasse

Hier ist meine einfache User POCO-Klasse:

///<summary>
///The User class represents a Coderwall User.
///</summary>
public class User
{
    ///<summary>
    ///A User's username. eg: "sergiotapia, mrkibbles, matumbo"
    ///</summary>
    public string Username { get; set; }

    ///<summary>
    ///A User's name. eg: "Sergio Tapia, John Cosack, Lucy McMillan"
    ///</summary>
    public string Name { get; set; }

    ///<summary>
    ///A User's location. eh: "Bolivia, USA, France, Italy"
    ///</summary>
    public string Location { get; set; }

    public int Endorsements { get; set; } //Todo.
    public string Team { get; set; } //Todo.

    ///<summary>
    ///A collection of the User's linked accounts.
    ///</summary>
    public List<Account> Accounts { get; set; }

    ///<summary>
    ///A collection of the User's awarded badges.
    ///</summary>
    public List<Badge> Badges { get; set; }

}

Und die Methode, die ich verwende Deserialisieren aus einer JSON-Antwort in eine User Objekt (das eigentliche JSON-call ist hier):

private User LoadUserFromJson(string response)
{
    var outObject = JsonConvert.DeserializeObject<User>(response);
    return outObject;
}

Diese feuert eine Ausnahme:

Kann nicht deserialisiert werden die aktuellen JSON-Objekt (z.B. {"name":"Wert"})
in Typ
'System.Sammlungen.Generisches.List`1[CoderwallDotNet.Api.Modelle.Account]'
denn die Art benötigt ein JSON-array (z.B. [1,2,3]) Deserialisieren
richtig.

Diesen Fehler zu beheben, ändern den JSON zu JSON-array
(z.B. [1,2,3]) oder ändern Sie die Deserialisierung-Typ, so dass es ein normales
.NET-Typ (z.B. nicht in einen primitiven Typ wie die Ganzzahl, nicht eine Sammlung
Typ wie ein array oder eine Liste), die deserialisiert werden von einem JSON
Objekt. JsonObjectAttribute können ebenfalls Hinzugefügt werden, um den Typ zu erzwingen
Deserialisieren von einem JSON-Objekt. Weg " - Konten.github', Zeile 1,
position 129.

Haben noch nie gearbeitet, mit diesem DeserializeObject Methode vor, bin ich irgendwie hier hängengeblieben.

Ich habe dafür gesorgt, dass die Namen der Eigenschaft in der POCO-Klasse sind die gleichen wie die Namen im JSON-Antwort.

Was kann ich versuchen, JSON Deserialisieren in diesem POCO-Klasse?

Scheint, dass ich bin spät, aber siehe meine Antwort. mit JsonProperty ist viel einfacher(und lesbar), als Sie zu schreiben JsonConverter
Sie sind wahrscheinlich auf der Suche bei sowas dann. stackoverflow.com/questions/25672338/...

InformationsquelleAutor Only Bolivian Here | 2012-06-20

Schreibe einen Kommentar