3

JSONにDictionary<string,int[]>シリアライズする必要があります。デフォルトのフォーマッタを使用すると、

{"blah": [0,1,2,3], "yada": [0,1,2,3]}

私が必要なのはこのようなものです

[{ name: "blah", data: [0,1,2,3]}, name: "yada", data: [0,1,2,3] }]

これを達成するための最良/最も簡単な方法は何ですか? カスタム シリアライザー クラスを作成する必要がありますか? または、ディクショナリよりもうまく機能する別のコレクション型がありますか?

4

1 に答える 1

2

少しの LINQ を使用すると、辞書を自分の形式に簡単に変換できます。

var dict = new Dictionary<string, int[]>
    {
        {"blah", new[] {0, 1, 2, 3}},
        {"yada", new[] {0, 1, 2, 3}}
    };
var transformedData = dict.Select(e => new {name = e.Key, data = e.Value});
var json = JsonConvert.SerializeObject(transformedData);

JsonConverterまたは、この変換を行うカスタムを作成できます。

于 2013-03-30T07:47:51.437 に答える