java - 如何在 Eclipse 中使用 Lombok 为复杂的 json 生成 pojo
问题描述
下面是用于创建 pojo 的 json。我想使用 Lombok 创建一个 pojo。我是新来的放心。如何在 Eclipse 中使用 Lombok 创建 pojo。我想要嵌套的 json,就像下面的 Jira API post body request 一样。
{
"fields": {
"project": {
"key": "RA"
},
"summary": "Main order flow broken",
"description": "Creating my fist bug",
"issuetype": {
"name": "Bug"
}
}
}
我手动创建了以下 pojo,我不确定它是否正确。如何在帖子正文中调用生成的 pojo?
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class createissue {
private fieldss fields;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public static class fieldss {
private Project poject;
private Sting summary;
private String description;
private Issuetype issuetypessuetype;
}
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public static class Project {
private Sting key;
}
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public static class Issuetype {
private Sting name;
}
}
解决方案
POJO 是正确的,它有一些错字,我已更正
public class Lombok {
public static @Data class fieldss {
private Project project;
private String summary;
private String description;
private Issuetype issuetype;
}
public static @Data class createissue {
private fieldss fields;
}
public static @Data class Issuetype {
private String name;
}
public static @Data class Project {
private String key;
}
}
以下是您如何测试
public static void main(String[] args) {
// TODO Auto-generated method stub
Issuetype a1 = new Issuetype();
a1.setName("Bug");
Project a2 = new Project();
a2.setKey("RA");
fieldss a3 = new fieldss();
a3.setDescription("Creating my fist bug");
a3.setSummary("Main order flow broken");
a3.setIssuetype(a1);
a3.setProject(a2);
createissue a4 = new createissue();
a4.setFields(a3);
ObjectMapper mapper = new ObjectMapper();
String abc = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(a4);
System.out.println(abc);
}
您应该能够在控制台中看到以下内容
{
"fields": {
"project": {
"key": "RA"
},
"summary": "Main order flow broken",
"description": "Creating my fist bug",
"issuetype": {
"name": "Bug"
}
}
}
推荐阅读
- php - 使用 PHP 从 Google Cloud Bucket 加载图像
- sql - 在 SQL (hive) 中提取数组的最后 N 个元素
- sql - 第二次出现后的 SQL 子字符串
- javascript - 使用 Nodejs 进行异步编程 - 遍历一组链接,打开它们并在完成后将它们保存到 JSON
- c# - HttpClient.SendAsyc() 在生产中返回禁止,但在调试中返回 OK
- angular-material - 如何独立制作动态树视图每个节点
- python - Python int 意外结果
- javascript - 脚本中的自定义 CSS
- java - 这种行为背后的原因是什么(线程)
- linux - 如何从数据行中删除换行符