【问题标题】:Android efficient way to read write segments from a large json fileAndroid从大型json文件中读取写入段的有效方法
【发布时间】:2021-04-11 08:08:33
【问题描述】:

我正在做一个项目,我必须从一个大型 json 文件中读取和写入,并在列表中显示内容,修改数据并将其保存回来。

目前我正在读取整个文件并使用 gson 对其进行序列化。

是否有一种有效的方式/库来读取/写入块/分页中的数据,然后序列化/反序列化它而不将整个文件加载到内存中?

【问题讨论】:

  • JSON 在整个“更新大文件”方面确实很糟糕。您最好的选择可能是将其转换为更易于操作的格式。如果您总是编辑不同的块,那么即使只是将每个这样的垃圾分成自己的文件,也已经使任务变得更加容易。
  • JSON 作为任何其他标记语言都可以处理大文件。您应该使用适当的技术——基于流/事件/令牌的 API 而不是对象映射器。这就像使用 SAX/StAX 而不是 DOM 来处理大型 XML... 参见例如 stackoverflow.com/questions/61868825/… stackoverflow.com/questions/64422516/… 等。

标签: java android json kotlin


【解决方案1】:

您可能想研究 JSON 的 Streaming API,准备好处理相当低级别的细节。

Jackson [0] 支持,GSON [1] 也支持流式传输。可能有用的 GSON 示例 [2]


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多