Java:
使用JSON进行编程
如何操作:
让我们卷起袖子,开始用 Java 进行 JSON 编码。
首先,你需要一个 JSON 处理库,如 Jackson
或 Google Gson
。这里我们将使用 Jackson
,所以请将此依赖项添加到你的 pom.xml
:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
现在,让我们序列化(写入)一个简单的 Java 对象到 JSON:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
try {
ObjectMapper mapper = new ObjectMapper();
Person person = new Person("Alex", 30);
String json = mapper.writeValueAsString(person);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Person {
public String name;
public int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
输出应该是:
{"name":"Alex","age":30}
现在,将 JSON 反序列化(读取)回 Java 对象:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
String json = "{\"name\":\"Alex\",\"age\":30}";
try {
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json, Person.class);
System.out.println(person.name + " 今年 " + person.age + " 岁。");
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出将是:
Alex 今年 30 岁。
深入了解
JSON 的简单性和有效性已使其成为网络上数据交换的事实标准,推翻了 XML 的宝座。JSON 在 2000 年代初被引入,最初是从 JavaScript 派生出来的,但现在几乎所有语言都支持。
JSON 的替代品包括 XML,它更冗长,以及二进制格式,如 Protocol Buffers 或 MessagePack,它们的可读性较差但在大小和速度上更高效。每种都有其用例;选择取决于你的特定数据需求和上下文。
在 Java 中,除了 Jackson
和 Gson
,我们还有 JsonB
和 org.json
等其他库来处理 JSON。Jackson 提供基于流的处理并且以速度著称,而 Gson 因其易用性而受到赞扬。JsonB 是 Jakarta EE 的一部分,提供了一种更标准化的方法。
在实现 JSON 时,记得正确处理你的异常 - 你的代码应该对不良输入有很强的鲁棒性。此外,考虑自动数据绑定的安全含义 - 始终验证你的输入!