📅  最后修改于: 2023-12-03 15:18:10.431000             🧑  作者: Mango
org.json-JSONObject
是 Java 编程语言中的一个类,它可以将 JSON(JavaScript Object Notation)格式的数据解析出来并转换成 Java 对象,也可以将 Java 对象转换成 JSON 格式的数据。这个类是由 Douglas Crockford 的 JSON.org 组织提供的。
JSONObject
对象表示 JSON 格式的数据,它可以包含多个键值对。JSONObject
对象的键必须是一个 String
对象,值可以是除了函数外的任何类型的对象。JSONObject
对象可以嵌套,即在一个 JSONObject
对象中可以包含另一个 JSONObject
对象。JSONObject
对象是线程安全的,可以在多个线程中使用。创建一个空的 JSONObject
对象:
JSONObject obj = new JSONObject();
创建一个包含键值对的 JSONObject
对象:
JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
将一个字符串解析成 JSONObject
对象:
String jsonString = "{\"name\":\"张三\",\"age\":18}";
JSONObject obj = new JSONObject(jsonString);
将一个文件中的 JSON 格式数据解析成 JSONObject
对象:
File file = new File("data.json");
String jsonString = FileUtils.readFileToString(file, "UTF-8");
JSONObject obj = new JSONObject(jsonString);
访问一个字段的值:
JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
String name = obj.getString("name");
int age = obj.getInt("age");
修改一个字段的值:
JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
obj.put("age", 19);
JSONObject
对象转换成字符串将 JSONObject
对象转换成字符串:
JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
String jsonString = obj.toString();
JSONObject
对象将一个 Java 对象转换成 JSONObject
对象:
User user = new User("张三", 18);
JSONObject obj = new JSONObject(user);
org.json
比起 Gson 和 Jackson 这些更成熟的 JSON 序列化库而言,在性能和功能上略显不足,但在某些情况下使用它更加合适。
对于一些简单的 JSON 数据,使用 org.json
库可以非常快速地解析和处理,而不需要把整个 JSON 手动映射到一个 Java 对象或者定义一个相应的 Java 类。
因此,如果您正在处理一些简单和小的 JSON 数据,使用 JSONObject
是一个很好的选择。如果您需要处理非常复杂的 JSON 结构或者大量的 JSON 数据,那么最好考虑使用其他库。