备注 | 修改日期 | 修改人 |
内容更新 | 2024-05-18 10:22:00[当前版本] | 系统管理员1 |
创建版本 | 2024-05-18 10:20:11 | 系统管理员1 |
在Java中,对象转换为JSON字符串以及JSON字符串转换为Java对象是非常常见的操作,通常我们会使用一些库来帮助我们完成这一过程。最常用的两个库是Gson和Jackson。
pom.xml
中添加如下依赖:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.9</version> </dependency>
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.Map; public class GsonToJsonExample { // 假设KnowPointStatical是一个具有相应getter和setter方法的Java Bean static class KnowPointStatical { String pointName; int totalQuestions; // 其他属性及getter和setter省略 } public static void main(String[] args) { String jsonString = "{" + "\"Math\": {\"totalQuestions\": 50}," + "\"English\": {\"totalQuestions\": 45}," + "\"Science\": {\"totalQuestions\": 60}" + "}"; Gson gson = new Gson(); // 定义类型Token来指示目标类型 Type type = new TypeToken<Map<String, KnowPointStatical>>(){}.getType(); try { // 直接将JSON字符串转换为指定类型的Map Map<String, KnowPointStatical> map = gson.fromJson(jsonString, type); // 打印Map内容 for (Map.Entry<String, KnowPointStatical> entry : map.entrySet()) { System.out.println("Subject: " + entry.getKey() + ", Total Questions: " + entry.getValue().getTotalQuestions()); } } catch (Exception e) { e.printStackTrace(); } } }