我正在编写一个android应用程序,该应用程序有几个大型多维数组数据,如float[][][][],应该在应用程序运行开始时加载。所以我需要从存储在手机存储器中的文件中读取和加载它们。我有从文件中读取的典型解决方案的问题是,它需要很长时间来读取和加载所有这些,我正在寻找一个更快的选项。为了上述目的,我决定尝试使用Json,但我找不到任何方法来存储像float[][][][][]这样的多维数组。谁能提供点线索帮助我?此外,如果你知道一个更好的解决方案,而不是Json我的情况下,我将非常感谢听到。
谢谢
多维数组就是数组的数组的数组(对于额外的维度重复)。
创建一个2d的浮点数组,就像这样:
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,只需增加循环的嵌套以匹配数组的维数。