介绍
在本实验中,你将学习如何使用 org.json 库在 Java 中处理 JSON。我们将介绍该库提供的类和方法,包括如何创建 JSON 对象和数组、如何将 JSON 数据转换为其他格式,以及如何处理 JSON 异常。
在本实验中,你将学习如何使用 org.json 库在 Java 中处理 JSON。我们将介绍该库提供的类和方法,包括如何创建 JSON 对象和数组、如何将 JSON 数据转换为其他格式,以及如何处理 JSON 异常。
JSONObject 用于存储键值对。以下是一个创建 JSONObject 的示例:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
JSONObject jo = new JSONObject();
jo.put("name", "John");
jo.put("age", 25);
System.out.println(jo.toString());
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将创建一个包含两个键值对(name 和 age)的 JSONObject,并将其打印到控制台。
JSONArray 是一个有序的值集合。以下是一个创建 JSONArray 的示例:
import org.json.JSONArray;
public class Main {
public static void main(String[] args) {
JSONArray ja = new JSONArray();
ja.put(10);
ja.put("A string");
System.out.println(ja.toString());
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将创建一个包含两个值(10 和 "A string")的 JSONArray,并将其打印到控制台。
要将 JSONObject 或 JSONArray 转换为字符串,可以使用 toString() 方法。以下是一个示例:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
JSONObject jo = new JSONObject();
jo.put("name", "John");
jo.put("age", 25);
String jsonString = jo.toString();
System.out.println(jsonString);
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将创建一个包含两个键值对的 JSONObject,将其转换为字符串,然后将字符串打印到控制台。
org.json 库提供了方便的方法,用于将 JSON 数据转换为 Java 对象。例如,你可以使用 JSONObject 的 get 方法来获取特定键的值作为 Java 对象。以下是一个示例:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
JSONObject jo = new JSONObject();
jo.put("name", "John");
jo.put("age", 25);
String name = jo.getString("name");
int age = jo.getInt("age");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将创建一个包含两个键值对的 JSONObject,获取键 "name" 和 "age" 的值,然后将它们打印到控制台。
如果你有一个有效的 JSON 字符串,可以用它来创建 JSONObject。以下是一个示例:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":25}";
JSONObject jo = new JSONObject(jsonString);
System.out.println(jo.toString());
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将从 JSON 字符串创建一个 JSONObject,然后将其打印到控制台。
如果你有一个有效的 JSON 字符串,可以用它来创建 JSONArray。以下是一个示例:
import org.json.JSONArray;
public class Main {
public static void main(String[] args) {
String jsonString = "[10,\"A string\"]";
JSONArray ja = new JSONArray(jsonString);
System.out.println(ja.toString());
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将从 JSON 字符串创建一个 JSONArray,然后将其打印到控制台。
在使用 org.json 时,你需要处理 JSONException。当你尝试对 JSON 对象或数组执行无效操作时,会抛出这些异常。以下是一个示例:
import org.json.JSONObject;
import org.json.JSONException;
public class Main {
public static void main(String[] args) {
try {
JSONObject jo = new JSONObject();
jo.put("name", "John");
System.out.println(jo.getInt("name"));
} catch (JSONException e) {
System.out.println("JSONException: " + e.getMessage());
}
}
}
要运行代码,请在终端中执行以下命令。
javac Main.java && java Main
上述代码将创建一个 JSONObject,并尝试获取键 "name" 的 int 值,而该键的值是一个 String。这将导致 JSONException,异常会被捕获并打印到控制台。
在本实验中,你学习了如何使用 org.json 库在 Java 中处理 JSON。你学习了如何创建 JSON 对象和数组、如何将 JSON 数据转换为其他格式,以及如何处理 JSON 异常。你还学习了如何导入 org.json 库并将 JSON 数据转换为 Java 对象。