当前位置: 首页 > 知识库问答 >
问题:

如何在Java中正确地将dto转换为json?[副本]

楚冷勋
2023-03-14

如何正确转换dto到json在Java?我这样做就像下面使用ObjectMapper

        ObjectDto dto;
        byte[] json = new byte[0];

        dto = service.getDto(someId);

        ObjectMapper mapper = new ObjectMapper();
        json = mapper.writeValueAsBytes(dto);

问题在于格式化date字段。在Dto我有我的日期在这种格式:2021-09-27T12:06:27.990Z但转换此dto到json字节后,我看到我的日期拆分为对象与许多属性如下:

"date":{
         "year":2021,
         "month":"OCTOBER",
         "nano":528000000,
         "monthValue":10,
         "dayOfMonth":25,
         "hour":13,
         "minute":14,
         "second":58,
         "dayOfYear":298,
         "dayOfWeek":"MONDAY",
         "chronology":{
            "id":"ISO",
            "calendarType":"iso8601"
         }
      },

在使用ObjectMapper之后,我希望将Dto中的所有属性以与转换之前相同的格式进行转换。如何做到这一点?

谢谢你的帮助!

共有2个答案

司徒英卓
2023-03-14

将日期的数据类型用作DTO中的字符串。这将解决问题

霍建章
2023-03-14

您应该注册一个自定义序列化程序

public class ItemSerializer extends StdSerializer<Item> {
  ....
}

ObjectMapper mapper = new ObjectMapper();

SimpleModule module = new SimpleModule();
module.addSerializer(Item.class, new ItemSerializer());
mapper.registerModule(module);

请参见此处的完整说明:https://www.baeldung.com/jackson-custom-serialization

 类似资料:
  • 在我的Spring Boot项目中,我只是直接返回一个列表。然后我可以在Postman中看到JSON响应。我没有做任何事情将Java对象转换为JSON。它是如何工作的?JSON是Java交换数据的默认方式吗? 这是一个控制器示例。 这是我pom.xml的依赖部分

  • 我想将json值转换为java中的ArrayList对象。。。。,我有: //模型 //和方法 我正在使用org。json

  • 我在Eclipse IDE中编写了JavaFx项目,它工作正常。 一旦我把它转换成Maven项目,我的FMXL文件就停止打开了。但是,如果我创建新的FXML文件并将它们放在相同的文件夹中,一切都会正常工作。 有没有办法在不重新创建所有FXML文件的情况下运行我的Maven项目? 我已经尝试过在代码中更改FXML文件的路径,将FXML移到src/main/resources包,或者简单地将代码从旧的

  • 问题内容: 我只想使用Java将包含yaml的字符串转换为包含对应的已转换json的另一个字符串。 例如,假设我拥有此Yaml的内容 在名为yamlDoc的字符串中: 我想要一些可以将yaml字符串转换为带有相应json的另一个字符串的方法,即以下代码 应该打印: 我想知道在此示例中是否存在类似于 convertToJson() 方法的内容。 我试图使用SnakeYAML实现这一点,所以这段代码

  • 问题内容: 如何在Java中将通用列表转换为json。我有这样的类.. 我想将outputList转换为Java中的json。转换后我会将其发送到客户端。 问题答案: 为此使用GSON库。这是示例代码 这是Gson的Maven依赖 或者您可以从此处直接下载jar并将其放在您的课​​程路径中 http://code.google.com/p/google- gson/downloads/detail

  • 我只想用Java将包含yaml的字符串转换成另一个包含corrseponding转换的json的字符串。 如有任何回应,将不胜感激。