Visual C# 2010 / .NET 3.5 の環境で、DataContractJsonSerializer を使用して JSON形式のデータを読み込もうとしているのですが、とあるJSON形式フォーマットを読み込むのに、どのようなデータクラスを定義すればよいか、悩んでいます。




----読み込みたいJSON形式のデータ--------------
{
  "data_type" : "01",
  "data_list" : [
    [ "1234", "567890", [ "a11", "b11", "c11" ] ],
    [ "2341", "678905", [ "a22", "b22", "c22" ] ],
    [ "3412", "789056", [ "a33", "b33", "c33" ] ]
  ]
}



----読み込んだデータを格納するデータクラス--------------
[DataContract]
public class DataClass
{
  [DataMember(Name = "data_type")]
  public string data_type { get; set; }

  [DataMember(Name = "data_list")]
  public List<???> data_list { get; set; }
}



「???」の部分は、どのように定義すれば宜しいでしょうか?JSON初チャレンジで知識が乏しいので、どなたかHELPいただければ嬉しいです。



(質問にはてな記法が使えないとは…すごい不便…><)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/30 13:51:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:neuecc No.1

回答回数1ベストアンサー獲得回数1

ポイント100pt

data_listはstringとstring[]が混合した配列ですね。
なので、普通の型にはマッピングできないでしょう。
というわけで、object[]にすれば良いでしょう(デシリアライズできるのは確認しました)

[DataContract]
public class DataClass
{
[DataMember(Name = "data_type")]
public string DataType { get; set; }

[DataMember(Name = "data_list")]
public object[] DataList { get; set; }
}

id:uxoru

ご回答ありがとうございます。

やっぱりその手しかないですかー。

2011/12/30 13:46:54

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません