【问题标题】:Saving and loading multidimensional arrays using Json in AndroidAndroid中使用Json保存和加载多维数组
【发布时间】:2015-11-05 11:52:47
【问题描述】:

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

谢谢

【问题讨论】:

    标签: android json multidimensional-array large-files


    【解决方案1】:

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

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

    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,您只需增加循环的嵌套以匹配数组的维数。

    【讨论】:

    • 非常感谢,读取它们并加载到数组中怎么样?看起来,我需要通过 4 个连续的嵌套循环一个一个地加载每个数组值,对吗?还有其他更快的方法吗?
    猜你喜欢
    • 2013-07-12
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2012-03-07
    • 2020-03-19
    • 2023-03-28
    相关资源
    最近更新 更多