【问题标题】:How to create JSON object without using String?如何在不使用字符串的情况下创建 JSON 对象?
【发布时间】:2016-11-10 05:05:59
【问题描述】:

我想创建一个使用 API 在列表视图上显示一些信息的 Android 应用程序。我面临的问题是我要下载的 json 文件对于 String 对象来说太大了。我的导师告诉我,Android Studio 以某种方式限制了字符串的大小。我收到错误“常量字符串太长”。 我是否可以将该信息下载为 json 文件(实际上是 .geojson)并将其存储在磁盘中的某个位置(实际上我可以下载该文件),然后通过读取它来解析它而不使用任何 String 对象文件本身。或者由于我是编程新手,您能建议另一种方法吗?

【问题讨论】:

  • Can you suggest another way of doing it 是 使用JsonReader 解析 JSON 而不将其保存在 String 或 StringBuffer 中
  • 我建议您在从服务器检索时分解如此庞大的信息(因为您可能不会一次显示全部)或像任何其他文件一样以其他方式下载并从本地读取使用 JsonReader 的系统。
  • @UmaisGillani 我无法分解信息,因为信息中有标签,我将把它解析为一个完整的文件。其次,实际上信息并没有那么大,可能最大 8 MB,但通常在 6 MB 左右。

标签: java android json string


【解决方案1】:

我找到的解决方案是在我的项目中使用简单的 JSON 简单库。 您可以从here 获得它。 将 JSON 文件下载到存储后,我使用以下代码对其进行解析:

    JSONParser parser = new JSONParser();
    Object obj = null;

    try {
        obj = parser.parse(new FileReader(directory of the folder + "/fileName.extension"));
    } catch (IOException e) {
        e.printStackTrace();
    } catch (org.json.simple.parser.ParseException e) {
        e.printStackTrace();
    }

    JSONObject jsonObject = (JSONObject) obj;

现在您可以随意使用 jsonObject。

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 2015-03-17
    • 2017-12-07
    • 1970-01-01
    • 2013-12-05
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多