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

Posted

技术标签:

【中文标题】如何将 c# 二维数组转换为 JSON 对象?【英文标题】:How do I convert a c# two-dimensional array to a JSON object? 【发布时间】:2010-11-20 10:28:15 【问题描述】:

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

例如。

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

在 JSON 对象中给出一个扁平的一维数组。 Microsoft documentation states:

'一个多维数组被序列化为一维数组,你应该把它当作一个平面数组使用。'

【问题讨论】:

只是为了好玩,我要补充一点,Newtonsoft's Json.NET 没有二维数组的序列化问题,为了涵盖 2021 年的流行用例,ASP.NET Core 甚至 @987654323 @ 【参考方案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 会将其序列化为 [[#,#,#,#],[#,#,#,#],etc...]

【讨论】:

以上是关于如何将 c# 二维数组转换为 JSON 对象?的主要内容,如果未能解决你的问题,请参考以下文章

怎样将JAVA中得list集合转换为javascript的二维数组?

二维数组和json对象的转换

js对json数组的操作,如何将json数组里面的每一个对象的value取出生成与之对应的二维数组?

js如何把二维数组转换成json字符串格式

如何将 C# 中的二维数组传递给 C++ DLL?

C# CS结构中 2005 如何将二维数组转化成DataSet