2009-08-17 26 views
13

Si tengo una matriz bidimensional en C#, ¿cómo puedo convertirla en una cadena JSON que contenga una matriz bidimensional?¿Cómo convierto una matriz bidimensional C# a un objeto JSON?

por ejemplo.

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

proporciona una matriz plana unidimensional en un objeto JSON. La documentación de Microsoft indica:

'Una matriz multidimensional se serializa como una matriz unidimensional, y debe usarla como una matriz plana.'

Respuesta

17

puede utilizar un matriz escalonada lugar de una matriz de dos dimensiones, que se define como:

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; 
    } 
} 

El JavaScriptSerializer entonces serializar esto en la forma [[#, #, # #] , [#, #, #, #], etc ...]

Cuestiones relacionadas