当前位置: 首页 > 知识库问答 >
问题:

使用Eclipse读取JSON文件,我是否需要一个库[关闭]

司徒高丽
2023-03-14
        String jsonData = "";
    BufferedReader br = null;
    try {
        String line;
        br = new BufferedReader(new FileReader(pathname));
        while ((line = br.readLine()) != null) {
            jsonData += line + "\n";
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (br != null)
                br.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    // System.out.println("File Content: \n" + jsonData);
    JSONObject obj = new JSONObject(jsonData);

共有1个答案

夹谷弘亮
2023-03-14

JSONObject不是JDK的一部分,因此您确实需要向项目导入一个库才能执行代码。

如果使用maven,只需将下一个依赖项添加到项目的pom文件中即可:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160810</version>
</dependency>

最后,请注意,您的代码可以通过使用JSONTokener来简化,以便能够从InputStreamReader解析JSON内容,这似乎更适合于您的情况,因此您的代码应该是:

JSONObject obj;
try (InputStream input = new FileInputStream(pathname)) {
    obj = new JSONObject(new JSONTokener(input));
}
 类似资料:
  • 问题内容: 我想知道,在关闭阅读器之后,是否需要关闭InputStream? 问题答案: 不,您不必。 由于Java中用于流的装饰器方法可以通过将新流或读取器附加到其他流上来构建新流或读取器,因此实现将自动对其进行处理。 如果查看其来源,则会看到: 因此,关闭操作实际上关闭了底层的流读取器。 编辑:我想确保关闭也可以在输入流上工作,请继续关注。 签入 在调用sd的close时调用。

  • 嗨,我在node.js中得到了以下代码 我试图以以下json格式显示键和所有的值:

  • 我正在尝试使用火花在S3文件中生成拼花文件,目的是稍后可以使用presto从拼花中查询。基本上,它看起来是这样的, <代码>Kafka- 我能够使用Spark在S3中生成拼花并且工作正常。现在,我正在查看presto,我想我发现它需要hive meta store才能从拼花中查询。即使拼花保存模式,我也无法让presto读取我的拼花文件。那么,这是否意味着在创建拼花文件时,火花作业还必须将元数据存

  • 问题内容: 我正在尝试从JSON文件读取值到数组以进行进一步处理。我正在使用JSON-Smart 1.2.0库。由于某些限制,我不能使用2.0版本。 我收到以下异常。 我什至尝试使用JSONArray而不是JSONObject。我在这儿做错了什么?这是读取JSON内容的正确方法吗? 以下是Java代码。 以下是json文件的内容。 问题答案: 您的JSON包含一个具有单个对象元素的数组,因此您应该

  • 问题内容: 我真的很努力地尝试将JSON文件读入Swift,以便可以使用它。我花了两天的大部分时间来重新搜索并尝试不同的方法,但到目前为止还没有运气,因此我已经注册了StackOverFlow,以查看是否有人可以向我指出正确的方向..... 我的JSON文件称为test.json,其中包含以下内容: 该文件直接存储在文档中,我使用以下代码进行访问: 如果有人可以在正确的方向上向我推销我如何反序列化

  • 我有一个这样的文件: [data.json] 如何通过解析此文件创建粒子向量。据我所知,我需要使用boop读取文件并将字符串(行)读入向量,然后解析向量的内容。 类粒子是这样的: 该类中省略了其他用于 get/set 的方法。 基本上,我想帮助创建一个