一尘不染

如何将ac#二维数组转换为JSON对象?

json

如果我在C#中有一个二维数组-如何将其转换为包含二维数组的JSON字符串?

例如。

int[,] numbers = new int[8,4];
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(numbers);

在JSON对象中给出一个平面的一维数组。Microsoft文档指出:

“多维数组被序列化为一维数组,应该将其用作平面数组。”


阅读 676

收藏
2020-07-27

共1个答案

一尘不染

您可以使用锯齿状数组而不是二维数组,其定义如下:

int[][] numbers = new int[8][];

for (int i = 0; i <= 7; i++) {
   numbers[i] = new int[4];
   for (int j = 0; j <= 3; j++) {
      numbers[i][j] =i*j;
   }
}

然后,JavascriptSerializer会将其序列化为[[#,#,#,#],[#,#,#,#]等形式]

2020-07-27