次のような JSON ノードがあります。
"folders":[
{"Videos":[1196717,2874999,898084]},
{"Fun":[2443301,3671]},
{"News":[62689,58867,11385]}
]
Dictionary<string, List<int>>
私はそれをまたは類似のものにデシリアライズしたい。私は現在メンバーを持っています:
[DataMember(Name = "folders")]
public Dictionary<string, List<int>> Folders;
そして、次のような出力が期待されます。
Folders = new Dictionary<string, List<int>>() {
{"Videos", new List<int>() { 1196717, 2874999, 898084 }},
{"Fun", new List<int>() { 2443301, 3671 }},
{"News", new List<int>() { 62689, 58867, 11385 }}
};
デシリアライザーを次のように実装しました。
var serializer = new DataContractJsonSerializer(
typeof(T),
new DataContractJsonSerializerSettings() {
DateTimeFormat = new DateTimeFormat("yyyy-MM-ddTHH:mm:ss.fffffffZ"),
}
);
T result = (T)serializer.ReadObject(response);
しかし、単にエラーが発生します:
データ コントラクト型 'System.Runtime.Serialization.KeyValue`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.List`1[[システム.Int32、mscorlib、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089]]、mscorlib、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089]]' は、必要なデータ メンバー 'Key,値' が見つかりませんでした。
これは、もっと似たようなものを期待しているためだと理解していますが、その形式は私の手に負えません。
"folders":[
{
"key":"Videos",
"value":[1196717,2874999,898084]
},{
"key":"Fun",
"value":[2443301,3671]
},{
"key":"News",
"value":[62689,58867,11385]
}
]
これを逆シリアル化するにはどうすればよいですか?