次のようにクラスを設定しています。
public class Foo
{
public string string1 { get; set; }
public string string2 { get; set; }
public string string3 { get; set; }
}
Json.Net を使用して、次の Json 応答を逆シリアル化しています。
[
{
"number1": 1,
"number2": 12345678901234567890,
"number3": 3
},
{
"number1": 9,
"number2": 12345678901234567890,
"number3": 8
}
]
逆シリアル化コード:
string json = @"[
{
""number1"": 1,
""number2"": 12345678901234567890,
""number3"": 3
},
{
""number1"": 9,
""number2"": 12345678901234567890,
""number3"": 8
}
]"
List<Foo> foos = JsonConvert.DeserializeObject<List<Foo>>(json);
の値はnumber2
を超えてInt64
いますが、その値を取得することはあまり気にしません。number2
プロパティを文字列にキャストする方法、または逆シリアル化中に完全に無視する方法はありますか?
[JsonConverter(typeof(string))]
プロパティに属性を追加しようとしましたstring2
が、次のエラーが表示されます: Error creating System.String
。私も設定してみtypeof(decimal)
ました。
私も使用してみ[JsonIgnore]
ましたが、うまくいきません。