在Java中,JSON(JavaScript Object Notation)的转换通常涉及到将Java对象序列化为JSON字符串,或者将JSON字符串反序列化为Java对象。常用的库有Jackson、Gson和Fastjson等。下面是一些简单的示例:
使用Jackson
添加依赖
首先,需要在项目中添加Jackson的依赖。如果你使用Maven,可以在pom.xml
文件中添加:
<dependencies>
<!-- 其他依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version> <!-- 请检查最新版本 -->
</dependency>
</dependencies>
Java对象转JSON
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) {
User user = new User("张三", 25);
ObjectMapper mapper = new ObjectMapper();
try {
String jsonStr = mapper.writeValueAsString(user);
System.out.println("JSON字符串: " + jsonStr);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class User {
public String name;
public int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
JSON转Java对象
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"张三\",\"age\":25}";
ObjectMapper mapper = new ObjectMapper();
try {
User user = mapper.readValue(jsonStr, User.class);
System.out.println("用户名: " + user.name);
System.out.println("年龄: " + user.age);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class User {
public String name;
public int age;
}
使用Gson
添加依赖
如果你使用Gson,首先需要在项目中添加Gson的依赖。如果你使用Maven,可以在pom.xml
文件中添加:
<dependencies>
<!-- 其他依赖 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version> <!-- 请检查最新版本 -->
</dependency>
</dependencies>
Java对象转JSON
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
User user = new User("张三", 25);
Gson gson = new Gson();
String jsonStr = gson.toJson(user);
System.out.println("JSON字符串: " + jsonStr);
}
}
class User {
public String name;
public int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
JSON转Java对象
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"张三\",\"age\":25}";
Gson gson = new Gson();
User user = gson.fromJson(jsonStr, User.class);
System.out.println("用户名: " + user.name);
System.out.println("年龄: " + user.age);
}
}
class User {
public String name;
public int age;
}
这些只是简单的示例,实际应用中可能需要处理更复杂的数据结构和转换需求。