我有一个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] }]
实现这一目标的最佳/最简单方法是什么?我应该编写自定义序列化程序类吗?或者是否有一种不同于Dictionary的不同集合类型?
答案 0 :(得分: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
。