# JackSon JSON 处理案例 *开源技术栏* 本文章演示了如何使用 JackSon 实现 类 到 json 字符串之间的转换。 ## 目录 [TOC]  ## 依赖引入 ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version> </dependency> ``` ## json 转 类 这里的 `@JsonProperty` 中的字符串对应的就是 json 中的 key 的名字,我们需要在对应的类的被赋值变量中将这个注解设置好。 ``` package org.example; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { String json = "{\n" + " \"name\": \"John Doe\",\n" + " \"age\": 30,\n" + " \"isEmployed\": true\n" + "}"; ObjectMapper mapper = new ObjectMapper(); Person person = mapper.readValue(json, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); System.out.println(person.isEmployed()); } public static class Person { @JsonProperty("name") private String name; @JsonProperty("age") private int age; @JsonProperty("isEmployed") private boolean isEmployed; @JsonProperty("name") public String getName() { return name; } @JsonProperty("name") public void setName(String name) { this.name = name; } @JsonProperty("isEmployed") public boolean isEmployed() { return isEmployed; } @JsonProperty("isEmployed") public void setEmployed(boolean isEmployed) { this.isEmployed = isEmployed; } @JsonProperty("age") public int getAge() { return age; } @JsonProperty("age") public void setAge(int age) { this.age = age; } } } ``` ## 类 转 json 创建类并实现对象转 JSON 功能 接下来,我们将创建一个简单的 Java 类文件,用于演示如何将一个 Java 对象序列化为 JSON 字符串。 假设我们有一个名为 Person.java 的类文件,其内容如下: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class Person { private String name; private int age; // Constructors public Person() {} public Person(String name, int age) { this.name = name; this.age = age; } // Getters and Setters public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // Method to convert object to JSON string public String toJson() throws Exception { ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(this); } public static void main(String[] args) { try { Person person = new Person("John Doe", 30); System.out.println(person.toJson()); } catch (Exception e) { e.printStackTrace(); } } } ``` ------ ***操作记录*** 作者:[zhao](https://www.lingyuzhao.top//index.html?search=4 "zhao") 操作时间:2025-03-19 16:12:45 星期三 【时区:UTC 8】 事件描述备注:保存/发布 中国 天津 [](如果不需要此记录可以手动删除,每次保存都会自动的追加记录)