2013-08-02 24 views
1

假设我的REST类似于返回JSON数据的端点,例如,从我的Java Play应用程序中的模型。我发现了两种创建JSON输出的方法:Play2:提供JSON内容的最佳方式

  1. 使用类似于HTML模板的JSON模板。它可能看起来像这样:

    { 
        "name": "${user.name}", 
        "id": "${user.id}", 
        . . . 
    } 
    

    我喜欢它的是灵活性。我可以轻松地为数据构建一个包装(用于元数据,状态消息等)。而且我很容易就可以影响哪些东西被传送(像密码字段,上次登录的时间戳等等当然没有你想要显示给客户端的东西)。当然,要求是为了获得有效的JSON,模板变量的内容应该正确转义。做这个的最好方式是什么?

  2. 第二种方法是将模型的POJO直接序列化为JSON。当然这更快,可以用更少的努力完成。与模板方法相比,它可能更可靠,因为它是一个自动过程。但是:我如何排除密码和元数据字段等数据?我应该使用只包含相关数据的jackson实现构造一个新的JSON对象吗?或者我必须为每个模型类创建一个“json-model”,然后将每个请求上的真实模型转换为json模型,然后才能序列化它?

就我个人而言,我喜欢模板方法,因为它的灵活性。但是你们中的一些人会说,不要手动构建JSON,XML等。但在这种情况下,这真的是一个问题,你会推荐什么?

+0

Java我认为? –

+0

哦,忘了提及它,是的,Java。 – cara

回答

相关问题