2013-03-05 3 views
2

Я пытаюсь декодировать простой двухмерный массив ints, который я получаю от javascript, но не могу понять это.Java, JSON - Декодирование простого двухмерного массива ints

Я пытался использовать Gson, но не мог понять, что класс массива:

int[][] newMap; 
Gson gson = new Gson(); 
newMap = gson.fromJson (req.getParameter("map"), ?????); 

Update: подробнее

Я посылаю простой 2D массив из javascript. это в значительной степени соответствующий код:

var mapData = new Array(30); 
for (var i = 0; i < mapData.length; i++){ 
    mapData[i] = new Array(30); 
} 
...... 
$.post('/create_map', { map : JSON.stringify(mapData) }) 

между я заселяю целыми числами. я просто хочу, чтобы отправить в сервлет и есть 2D массив в Java

+0

бы вы опубликовать больше информации, какие данные он и какой формат данных вы хотите. – OQJF

+1

что req.getParameter ("map") вернет – nav0611

+1

Что делает 'req.getParameter (" map ")' return? – bsiamionau

ответ

2

Вы можете попробовать что-то вроде этого, если вы хотите: -

int[][] dummy = new int[0][0]; // The same type as your "newMap" 
int[][] newMap; 
Gson gson = new Gson(); 
newMap = gson.fromJson(req.getParameter("map"), dummy.getClass()); 
+0

Несомненно, это работает! – bsiamionau

+0

Я получаю java.lang.IllegalArgumentException ... –

+0

где? и что вы сказали, что у вас есть это исключение? Потому что только после того, как я попробовал этот код, я разместил его здесь. – SudoRahul