【问题标题】:Android How to parse JSON file using FlatBuffers?Android 如何使用 FlatBuffers 解析 JSON 文件?
【发布时间】:2016-02-15 19:29:39
【问题描述】:

我正在尝试反序列化存储在内存位置中的 JSON 文件。我使用 flatC 编译器成功创建了所需的 POJO,但是当我将为 JSON 文件创建的 ByteBuffer 传递到 pojo 的根目录时,我得到了 IndexOutOfBoundsException。

java.lang.IndexOutOfBoundsException: index=83946924, limit=1684, size of type=4

用于从 JSON 文件转换字节数组

    if(file != null) {
        FileInputStream fis = new FileInputStream(file);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] buf = new byte[(int) file.length()];
        for (int readNum; (readNum = fis.read(buf)) != -1; ) {
            bos.write(buf, 0, readNum);
        }
        fis.close();
        return bos.toByteArray();
    }

这就是我创建 ByteBuffer 的方式

ByteBuffer bb = new ByteBuffer().wrap(input[]);

谁能告诉我我在哪里失踪?

【问题讨论】:

  • 为什么不打印 input[] 的内容,并将其与从 JSON 转换的 FlatBuffer 文件的转储进行比较,看看问题从何而来?

标签: android json parsing deserialization flatbuffers


【解决方案1】:

请参阅 Android 中使用 FlatBuffers 进行 JSON 解析。

http://frogermcs.github.io/json-parsing-with-flatbuffers-in-android/

我希望这是你想要的:)

【讨论】:

  • 感谢 Avi,我遵循了那个例子。当我从 RAW 文件夹加载文件时,一切正常,但是当我从内存位置传递文件时,它不起作用。(我调试以确保文件内容可用。那些在那里)。
猜你喜欢
  • 1970-01-01
  • 2021-10-09
  • 2021-07-17
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多