1

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

java.lang.IndexOutOfBoundsException:索引=83946924,限制=1684,类型大小=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[]);

有人可以让我知道我在哪里失踪吗?

4

1 回答 1

1

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

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

我希望这是你想要的:)

于 2016-02-15T22:17:45.327 回答