更改Play 2.5的JsonConverter日期格式

时间:2016-06-27 13:07:04

标签: json playframework-2.5 objectmapper

我已尝试为内置ObjectMapper配置play.libs.Json。我已按照文档进行操作,但MapperLoader似乎被忽略了。

这就是我所做的(基于文档):

  • 创建CustomMapperLoader public class JsonMapperLoader extends GuiceApplicationLoader { @Override public GuiceApplicationBuilder builder(final Context context) { ObjectMapper mapper = Json.newDefaultMapper() .setDateFormat(new SimpleDateFormat(Constants.ISO8601_DATE_FORMAT)); Json.setObjectMapper(mapper); return super.builder(context); } }

  • 在application.conf中显式加载加载程序:

play.application.loader = "JsonMapperLoader"

当我序列化日期时,它仍然给我时间戳而不是指定的格式。

我有几个解决方法:

  1. 我在创建期间设置了对象映射器 ApplicationController
  2. 我停用了play.core.ObjectMapperProvider并启用了我的CustomObjectMapperProvider
  3. 这个问题还有更好的选择吗?

    谢谢&问候,

1 个答案:

答案 0 :(得分:0)

我从未尝试过手册中建议的方法(使用自定义ApplicationLoader)。我用另一种技术。简而言之:有一个类,它配置ObjectMapper;该类将它作为单例注入模块中。

您可以看到完整的代码示例here