我有一个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<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] }]
实现这一目标的最佳/最简单方法是什么?我应该编写一个自定义序列化程序类吗?或者是否有比字典更好的集合类型?
使用一点 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
来执行此转换。