0

私はこのようなJSON応答を持っています

{
    car:100,
    house:200,
    bike:300
}

ただし、一部のプロパティが応答に含まれない場合があります。このように(家がありません)

{
    car:100,
    bike:300
}

私はデシリアライズしていますJsonConvert.DeserializeObject<Test>(json);

このテストモデルで

[JsonObject(MemberSerialization.OptIn)]
public class Test
{
    [JsonProperty(PropertyName = "car")]
    public int Car{ get; set; }

    [JsonProperty(PropertyName = "house")]
    public int House{ get; set; }

    [JsonProperty(PropertyName = "bike")]
    public int Bike{ get; set; }
}

ここでの問題: 2 番目の例では、house が欠落しており、プロパティ House を 0 に設定するオブジェクト テストをまだ取得しています。

このプロパティをオプションにする方法はあります。モデルに欠落しているプロパティがないようにしたいのです。

その他の考え この投稿を書いているときに、これはまったく意味をなさないかもしれないと思いました。おそらく、モデルは「モデル」であり、インスタンスごとに異なる必要があります..それは間違っているかもしれません.

どんな答えでも大歓迎です。ありがとう

4

2 に答える 2

4

のデフォルト値intは 0Houseです。 がオプションの場合は、null 許容にします。

[JsonProperty(PropertyName="house")]
public int? House { get; set; }
于 2012-07-08T14:57:56.227 に答える
1

プロパティをnullableタイプに変更します-たとえばint? House { get; set; }

于 2012-07-08T14:58:36.353 に答える