在 Android 中使用 Json 保存和加载多维数组

Saving and loading multidimensional arrays using Json in Android

我正在编写一个 android 应用程序,它有几个大型多维数据数组,如 float[][][][],应在应用程序开始时加载 运行 .所以我需要从存储在 phone 存储中的文件中读取和加载它们。 我在读取文件的典型解决方案中遇到的问题是读取和加载所有文件需要很长时间,我正在寻找更快的选择。 为了上述目的,我决定尝试 Json,但我找不到任何方法来存储像 float[][][][] 这样的多维数组。有人可以提出任何线索来帮助我吗?此外,如果您知道更好的解决方案而不是 Json 适合我的情况,我将不胜感激。

谢谢

多维数组只是数组数组的数组(对其他维度重复)。

创建一个二维的浮点数组会像这样:

float[][] array; // your array
JSONArray outerJsonArray = new JsonArray();

for (int i=0; i < array.length; i++) {
  JSONArray innerJsonArray = new JsonArray(); 

  for (int j=0; j < array[i].length; j++) innerJsonArray.put(array[i][j]);

  outerJsonArray.put(innerJsonArray);
}

要将高维数组转换为 json,您只需增加循环的嵌套以匹配数组的维数。