属性の1つが"easting"
であるjsonデータをダウンロードしようとしています。 JSONデータセットの過半数、"easting"
は整数であるが、以下に示すように"easting"
は整数のリストであるケースの一握りがある場合:デシリアライズ時にさまざまなデータ型の入力を処理する方法は?
"easting" : 357570 ,
...
"easting" : [ 434939, 434942 ] ,
私の元のコードは、int
場合であること"easting"
を予想していました次のようにそのクラスが宣言されました:
public class Item
{
public int easting { get; set; }
}
しかし、私はタイプint []
にタイプint
を変換することはできませんというエラーを得続けます。 easting
がint []
のタイプになるようにクラス定義を調整すると、逆のエラーが発生するだけです。タイプint []
をタイプint
に変換することはできません。
どうすればこの問題を処理できますか?デシリアライズ処理中にさまざまな入力データ型を考慮する方法はありますか?
ダイナミックを使用できますか?これをチェックしてください:http://stackoverflow.com/questions/30147272/serialize-a-json-property-that-is-sometimes-an-array – jpgrassi
あなたがJson.netを使っているなら、これは[この質問](http://stackoverflow.com/questions/18994685/how-to-handle-both-a-single-item-and-an-array-for-the-same-property-using-json-n) – stuartd
@stuartd私は現在、System.Web.Script.Serialization'から 'JavaScriptSerializer'を使用していますが、Json.netに切り替えることもできますが、その例は単純なようです。ありがとう。 – jcusick