1. JSON 数据格式:
JSON 数据由键值对组成,键值对之间用逗号分隔,整个对象用花括号 {} 包围。数组用方括号 [] 包围。例如:
{
"name": "John Doe",
"age": 30,
"city": "New York",
"skills": ["Java", "JavaScript", "Python"]
}
2. Jackson 库:
Jackson 是一个流行的 JSON 处理库,可以用于在 Java 对象和 JSON 数据之间进行转换。
添加 Jackson 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.x.x</version> <!-- 使用最新版本 -->
</dependency>
3. Java 对象转 JSON:
使用 Jackson 的 ObjectMapper 类可以将 Java 对象转换为 JSON 数据。
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectToJson {
public static void main(String[] args) {
try {
// 创建一个对象
Person person = new Person("John Doe", 30, "New York", Arrays.asList("Java", "JavaScript", "Python"));
// 创建 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// 将对象转换为 JSON 字符串
String jsonString = objectMapper.writeValueAsString(person);
// 打印 JSON 字符串
System.out.println(jsonString);
} catch (Exception e) {
e.printStackTrace();
}
}
}
4. JSON 转 Java 对象:
同样使用 ObjectMapper,可以将 JSON 数据转换为 Java 对象。
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonToObject {
public static void main(String[] args) {
try {
// JSON 字符串
String jsonString = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\",\"skills\":[\"Java\",\"JavaScript\",\"Python\"]}";
// 创建 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// 将 JSON 字符串转换为对象
Person person = objectMapper.readValue(jsonString, Person.class);
// 打印对象
System.out.println(person);
} catch (Exception e) {
e.printStackTrace();
}
}
}
5. 处理复杂 JSON 结构:
如果 JSON 数据包含嵌套的对象或数组,Jackson 也能够很容易地处理。
6. 其他 JSON 处理库:
除了 Jackson,还有其他一些流行的 Java JSON 处理库,如 Gson、JSON.simple 等,它们各自有不同的优点和使用方式。
以上是一个简单的 Java JSON 教程,介绍了使用 Jackson 库进行 JSON 数据的处理。
转载请注明出处:http://www.zyzy.cn/article/detail/459/Java