我需要从文件中读取JSON文件输入到我的Java程序中。 我找到了一些合理使用的代码,我在下面有一个例子。 但我正在使用Eclipse,并且在尝试引用JSONObject时遇到错误。 显然我没有在eclipse中安装一个库。所以我想知道让这个工作最简单的方法是什么。我是否需要安装整个大型库,或者没有其他方式。如果我确实需要安装最好/最简单的库,你可以指向一个下载链接。
谢谢!
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);
答案 0 :(得分:1)
类JSONObject
不是JDK的一部分,所以确实需要将库导入项目才能执行代码。
如果您使用maven,只需将下一个依赖项添加到项目的pom文件中即可从here获取它:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
最后请注意,使用JSONTokener
能够解析来自JSON
或InputStream
的{{1}}内容,可以简化您的代码在您的情况下更合适,因此您的代码应该是:
Reader
答案 1 :(得分:0)
您需要引用一个json库。以下是非常轻量级的:https://github.com/stleary/JSON-java
可以在以下问题中找到读取JSON的示例:
A JSONArray text must start with '[' at 1 [character 2 line 1]
答案 2 :(得分:0)
答案 3 :(得分:-1)
获取字符串后你的jsondata,你必须解析它。有一个例子
Permission.where(action_id: [action.id]) # always empty