Question

Je le code suivant et JSON:

public class Labels
{
    public Labels()
    {}

    public Label[] Label {get;set;}
}

public class Label
{
    public Label()
    { }
    public string Name { get; set; }
    public int TorrentsInLabel { get; set; }
}

//...
Labels o = JsonConvert.DeserializeObject<Labels>(json);
//...


{"label": 
[
  ["seq1",1]
  ,["seq2",2]
]}

Je voudrais ce tableau [ "seq1", "1"] désérialiser en objet Label. Qu'est-ce que je rate? Certains attributs?

Quand je cours, je me exception. Expected un JsonArrayContract pour le type 'test_JSONNET.Label', a 'Newtonsoft.Json.Serialization.JsonObjectContract'

TNX

gg

Était-ce utile?

La solution

Par défaut une classe sérialise à un objet JSON où les propriétés sur les propriétés de la classe deviennent sur l'objet JSON.

{
    Name: "seq",
    TorrentsInLabel: 1
}

Vous essayez de sérialisation à un tableau qui est pas comment le sérialiseur Json.NET fonctionne par défaut.

Pour obtenir ce que vous voulez, vous devez créer un JsonConverter et lire et écrire le JSON pour étiquettes manuellement pour être ce que vous voulez qu'il soit (un tableau).

Autres conseils

Comment peut-JsonConvert savoir que « seq1 » correspond au nom et « 1 » correspond à la TorrentsInLabel? S'il vous plaît jeter un oeil à JsonObjectAttribute, JsonPropertyAttribute, JsonArrayAttribute

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top