JSON是一種廣泛使用的數據交換格式,它以鍵值對的形式組織數據結構,具有輕量級、可讀性強、易于使用等優點。Java語言通過引入許多第三方庫支持JSON的解析和生成。JSON數組是JSON中一種常用的數據類型,它的格式如下:
[ value1, value2, …, valueN ]
假設我們有一個JSON字符串,其中存儲了二維數組的數據:
{ "data": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] }
我們可以使用com.alibaba.fastjson庫將該JSON字符串解析為Java對象:
String json = "{ \"data\": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] }"; JSONObject jsonObject = JSON.parseObject(json); JSONArray jsonArray = jsonObject.getJSONArray("data");
現在我們已經得到了一個JSONArray對象,它包含了三個一維數組。我們可以使用JSONArray對象的getJSONArray()方法獲取每個一維數組,并將它們組合成一個二維數組:
int[][] matrix = new int[jsonArray.size()][]; for (int i = 0; i< jsonArray.size(); i++) { JSONArray row = jsonArray.getJSONArray(i); int[] array = new int[row.size()]; for (int j = 0; j< row.size(); j++) { array[j] = row.getIntValue(j); } matrix[i] = array; }
以上代碼使用了一個二維數組matrix來存儲JSON數組的數據。首先創建一個大小為jsonArray.size()的數組,然后遍歷JSONArray中的每一個一維數組。對于每一個一維數組,再創建一個長度為row.size()的數組,用來存儲該一維數組的數據。最后將該一維數組存儲到二維數組matrix中的對應位置。
JSON轉二維數組的過程就完成了。通過以上方法,我們可以將任何JSON格式的二維數組解析為Java中的二維數組,便于進行后續的處理和運算。