Как преобразовать двумерный массив С# в объект JSON?
Если у меня есть двумерный массив на С# - как я могу преобразовать его в строку JSON, содержащую двухмерный массив?
например.
int[,] numbers = new int[8,4];
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(numbers);
дает плоский одномерный массив в объекте JSON. В документации Microsoft указано:
'Многомерный массив сериализуется как одномерный массив, и вы должны использовать его как плоский массив.'
Ответы
Ответ 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 сериализует это в форме [[#, #, #, #], [#, #, #, #] и т.д.]