我需要从数据库读取数据并将其以 JSON 格式发送到某个 MQ。 我正在使用java 8,spring boot。 我当前的流程--
从数据库读取数据 ---> 映射到 POJO --->使用对象映射器 (Jackson) 转换为 JSON
上面的问题是如果 JSON 结构发生变化,我的 Pojo 类需要更改。
我该如何避免呢? 下面是我拥有的 JSON 架构。假设某个字段被添加到该架构中。如何避免代码更改? 我可以让它变得动态吗?例如。假设某些字段被添加到 fname、lname 或地址中。如何避免代码更改?
{
"name": {
"fname" : {
"displayName":"FirstName",
"dataType":"String"
}
"lname" : {
"displayName":"LastName",
"dataType":"String"
}
},
"address": {
"displayName":"Address",
"dataType":"String"
}
}
最佳答案
- 添加 GSON 依赖项
- 要使其 pretty-print ,请使用 GsonBuilder()-> GsonBuilder().setPrettyPrinting().create();
toJson(对象)
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> Gson gson = new GsonBuilder().setPrettyPrinting().create(); Person person = newPerson(); String jsonString = gson.toJson(person); System.out.println(jsonString); private static Person newPerson() { List<String> hobbies = Arrays.asList("Cricket", "Guitar", "Coin Collection"); Map<String, String> languages = new HashMap<>(); languages.put("French", "Beginner"); languages.put("German", "Intermediate"); languages.put("Spanish", "Advanced"); Person person = new Person("Max", 22, hobbies, languages); return person; }
关于java - 从 json 模式动态生成 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62434773/