Verwenden von JsonConvert.DeserializeObject zum Deserialisieren von Json in eine C # POCO-Klasse

Hier ist meine einfacheUser 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, mit der ich eine JSON-Antwort in eine deserialisiereUser Objekt (dieses tatsächlicheJSON-Aufruf ist hier):

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

Dies löst eine Ausnahme aus:

Das aktuelle JSON-Objekt (z. B. {"name": "value"}) kann nicht in den Typ "System.Collections.Generic.List`1 [CoderwallDotNet.Api.Models.Account]" deserialisiert werden, da für den Typ ein JSON-Array erforderlich ist (z. B. [ 1,2,3]) richtig deserialisieren.

Um diesen Fehler zu beheben, ändern Sie entweder JSON in ein JSON-Array (z. B. [1,2,3]) oder den deserialisierten Typ, sodass es sich um einen normalen .NET-Typ handelt (z. B. keinen primitiven Typ wie eine Ganzzahl, keinen Auflistungstyp wie Array oder Liste), die aus einem JSON-Objekt deserialisiert werden können. JsonObjectAttribute kann dem Typ auch hinzugefügt werden, um die Deserialisierung von einem JSON-Objekt zu erzwingen. Pfad 'accounts.github', Zeile 1, Position 129.

Nachdem ich noch nie zuvor mit dieser DeserializeObject-Methode gearbeitet habe, bleibe ich hier irgendwie stecken.

Ich habe sichergestellt, dass die Eigenschaftsnamen in der POCO-Klasse mit den Namen in der JSON-Antwort übereinstimmen.

Was kann ich versuchen, um JSON in dieser POCO-Klasse zu deserialisieren?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage