如何使用JSON-Java(org.json)库读取JSON文件?
在此示例中,我们将使用JSON-Java(org.json)库读取或解析JSON文件。首先,我们开始InputStream使用getResourceAsStream()方法读取JSON文件。接下来,我们JSONTokener从输入流构造一个,并创建一个实例JSONObject来读取JSON条目。
我们可以用这样的方法getString(),getInt(),getLong(),等来读取JSON文件的键值。该getJSONArray()方法允许我们读取JSONArray对象中返回的值的列表。可以对其进行迭代以获取键表示的每个值。让我们看看下面的详细代码片段。
package org.nhooo.example.json;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
import java.io.InputStream;
public class ReadJSONString {
public static void main(String[] args) {
//info.json
//{
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”,"id": "1",
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”,"name": "Alice",
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”,"age": "20",
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”,"courses": [
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”, "Engineering",
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”, "Finance",
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”, "Chemistry"
//“培训班”:[“培训班”:[“年龄”:“20”,“年龄”:“20”,“name”:“Alice”,“name”:“Alice”,“id”:“1”,]
//}
String resourceName = "/info.json";
InputStream is = ReadJSONString.class.getResourceAsStream(resourceName);
if (is == null) {
throw new NullPointerException("Cannot find resource file " + resourceName);
}
JSONTokener tokener = new JSONTokener(is);
JSONObject object = new JSONObject(tokener);
System.out.println("Id : " + object.getLong("id"));
System.out.println("Name: " + object.getString("name"));
System.out.println("Age : " + object.getInt("age"));
System.out.println("Courses: ");
JSONArray courses = object.getJSONArray("courses");
for (int i = 0; i < courses.length(); i++) {
System.out.println(" - " + courses.get(i));
}
}
}上面的代码片段的结果是:
Id : 1 Name: Alice Age : 20 Courses: - Engineering - Finance - Chemistry
Maven依赖
<!-- https://repo1.maven.org/maven2/org/json/json/20180813/json-20180813.jar -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>