我正在使用Scala 2.10,Salat和Play frmework 2.1-RC2(将很快升级到2.1版)和MongoDB构建应用程序。
这是一个不露面的应用程序,为消费者公开JSON Web服务。到目前为止,JSON直接使用Play的Json API和隐式转换器转换为Model对象。我必须重构一些case类以避免22个元组限制,而现在而不是flat case case我现在正在重构一个嵌入式case(和嵌入式MongoDB集合)。
Web服务接口应保持相同,其中客户端仍应像以前一样在平面结构中传递JSON数据,但应用程序需要将它们映射到正确的case类结构中。什么是处理这种情况的最佳方法。我害怕写很多转换代码< - > Flat JSON< - >复杂案例类结构< - >从复杂的案例类再到平面JSON输出。
你会如何处理这样的要求?我假设案件类22元组限制可能已经被许多其他人面对处理这种要求?你会如何处理这个
答案 0 :(得分:1)
Play 2.1 json库在很大程度上依赖于组合器(path1 and path2
)。这些组合器都具有相同的限制。这给了你两个选择:
path(json)
将为您提供路径中该点的值。在ScalaJsonCombinators搜索“访问JsPath的值”将提供更多示例。