java - 如何将Java对象转换为Json格式化属性名

标签 java json

我目前正在将 Rest 服务从 RestExpress 迁移到 Jersey 框架,我必须在其中具有与 RestExpress 相同的输出。

public class AnnouncementDTO {

    private String id;
    private String title;
    private String details;
    private String postedBy;

    private String permanent;
    private String dismissible;

    private String startDate;
    private String endDate;

}

ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(announcementDTO );

输出:

{
  "id" : null,
  "title" : "<font size=\"3\" color=\"red\">This is some text!</font>",
  "details" : "<p>fhmdhd</p>",
  "postedBy" : "Portal, Administrator",
  "permanent" : null,
  "dismissible" : null,
  "startDate" : "Jul 19, 2014, 04:44 AM IST",
  "endDate" : null,
  "read" : null
}

我的要求是将属性名称格式化为 postedByposted_by。因此预期结果如下。

{
  "title":"<font size=\"3\" color=\"red\">This is some text!</font>",
  "details":"<p>fhmdhd</p>",
  "posted_by":"Portal, Administrator",
  "start_date":"Jul 19, 2014, 04:44 AM ET"
}

最佳答案

@JsonProperty("posted_by")
private String postedBy;

关于java - 如何将Java对象转换为Json格式化属性名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386342/

相关文章:

java - 图像变换导致红色图像?

java - 并行运行 maven 测试而不等待兄弟模块依赖项

node.js - JSON.parse,JSON 中位置 0 处出现意外标记 T

json - 使用 Ansible 查找 JSON 中的值,而无需知道它在哪里

python - 错误: 'str' object has no attribute 'read'

java - 当我在 Android 中使用绑定(bind)服务时,它是在后台运行,在它自己的线程上还是在主 UI 线程上运行?

java - System.exit() 可以用于哨兵值吗?

java - 图形程序适用于 Windows,但不适用于 Mac

java - 如何使用 JOLT 库在多个位置使用相同的字段值

c# - 加载 JSON 文件会出现序列化错误