3

我有一个Dictionary<string,int[]>需要序列化为 JSON 的东西。使用默认格式化程序,我得到

{"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 回答