2009-08-17 18 views
13

Si j'ai un tableau à deux dimensions en C# - comment puis-je le convertir en une chaîne JSON qui contient un tableau à deux dimensions?Comment convertir un tableau bidimensionnel C# en objet JSON?

par ex.

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

donne un tableau unidimensionnel à plat dans un objet JSON. La documentation Microsoft indique:

'Un tableau multidimensionnel est sérialisé en tant que tableau unidimensionnel et vous devez l'utiliser comme un tableau plat.'

Répondre

17

Vous pouvez utiliser un tableau en dents de scie au lieu d'un tableau à deux dimensions, qui est défini comme:

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

Le JavaScriptSerializer se serialise alors ce sous la forme [[#, #, #, #] , [#, #, #, #], etc ...]

Questions connexes