将C#对象序列化为特定类型的多维JSON数组

时间:2014-09-28 15:02:52

标签: c# .net json json.net

我正在使用Highcharts,他们希望采用以下格式的数据,但我无法实现这些数据:

var data = [
    ["CityName", 1234],
    ["City2", 12123]
]

等...

所以,我需要像上面的数组一样格式化,并且似乎无法实现它。

我在JSON.NET上看过这个:

string[,] famousCouples = new string[,]
  {
    { "Adam", "Eve" },
    { "Bonnie", "Clyde" },
    { "Donald", "Daisy" },
    { "Han", "Leia" }
  };

string json = JsonConvert.SerializeObject(famousCouples, Formatting.Indented);
// [
//   ["Adam", "Eve"],
//   ["Bonnie", "Clyde"],
//   ["Donald", "Daisy"],
//   ["Han", "Leia"]
// ]

字符串很好,但字符串和浮点数一起怎么样?这是一项要求,因为其中一个数字需要在列表中聚合,而string[,]实际上并不是理想的对象。

当我使用List<Dictionary<string,float>时(这也是自定义对象的结果)并且序列化程序输出数据为:

var data = [
   {"CityName", 1234}
]

我可能会遗漏一些非常简单的东西,但有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:2)

我想你可能想要object[,]

object[,] cityNames = new object[,] {
    {"CityName", 1234},
    {"City2", 12345 }
};