【问题标题】:Write/Read large JSONObject to/from file Android向/从文件 Android 写入/读取大型 JSONObject
【发布时间】:2016-06-21 21:08:24
【问题描述】:

我正在尝试向文件写入/读取 json 对象。 json结构复杂,是动态生成的。

对于小型 json 对象,我只需将 json 转换为字符串,然后进行字符串写入/读取。当 json 变得太大时,这会导致内存不足。

如何将 JSONObject 直接流式传输到文件,并直接从文件流回 JSONObject?

【问题讨论】:

    标签: android json


    【解决方案1】:

    快速浏览一下 Android api,您似乎想要类似于 JsonStringer (https://developer.android.com/reference/org/json/JSONStringer.html) 的功能 - 但它似乎无法流式传输结果。除此之外,我认为您必须找到合适的库(可能是https://github.com/yonik/noggit)或实现自己的 json 流媒体(我怀疑这会很难)。

    【讨论】:

    • 你能给我看一个如何使用noggit的简单例子吗?
    【解决方案2】:

    我建议您使用 Google 的库 GSON 来处理 JSON。我经常使用它来将 JSON Web 响应转换为类。

    https://github.com/google/gson/blob/master/UserGuide.md

    【讨论】:

    • 我也打算提出这个建议,但你打败了我。我要补充一点,gson 可以使用流来避免 OP 担心的内存问题。
    • 好吧,我正在尝试将 json 对象直接流式传输到文件,而不是类实例。我的 json 数据具有未知的复杂结构。如果gson可以做到,我想要求一个简单的示例代码来演示这个功能
    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多