質問

私は次のコードと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]
]}

Iは、ラベルオブジェクトにデシリアライズするために、この配列[ "SEQ1"、 "1"]たいです。私は何をしないのですか?一部の属性?

私は実行すると

私は例外を取得:タイプにJsonArrayContractを期待 'test_JSONNET.Label'、 'Newtonsoft.Json.Serialization.JsonObjectContract' だ。

TNX

GG

役に立ちましたか?

解決

デフォルトでは、クラスは、クラスのプロパティは、JSONオブジェクトのプロパティになりJSONオブジェクトにシリアル化します。

{
    Name: "seq",
    TorrentsInLabel: 1
}

あなたはJson.NETシリアライザは、デフォルトではどのように動作するかではない配列にそれをシリアライズしようとしている。

あなたがJsonConverterを作成し、それが(配列)であることを望むものであることを手動でラベルのためのJSONを読み、書くべき欲しいものを手に入れるます。

他のヒント

どのようJsonConvertは「SEQ1」は名前に対応し、「1」はTorrentsInLabelに対応していることを知ることができますか? JsonObjectAttribute、JsonPropertyAttribute、JsonArrayAttribute

を見てください。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top