如何使用Play提供XML和JSON! 2.0

时间:2012-01-03 23:01:42

标签: xml json scala playframework playframework-2.0

我正在玩弄建立一个简单的应用程序来让我的脚湿透Play! 2.0。我希望能够以XML(ATOM feed,真的)和JSON的形式提供我的资源。我知道如何在1.2.x中做到这一点,但这种方式似乎不适用于2.0。有谁知道怎么做?举例非常感谢。

1 个答案:

答案 0 :(得分:11)

对于JSON,我建议你看一下这个问题How to render JSON response in Play framework v2.0 (latest build from GIT)

XML要简单得多,因为您可以使用以下代码调用return结果:

Ok(Xml(xmlString))

但更清洁的方式,使用此功能的照片可能是在views/xml下编写自己的模板mdo.scala.xml可能

@(mdo:MyDomainObject)
<?xml version="1.0" encoding="utf-8"?>
<MyDomainObject>
  <name>@mdo.name</name>
  <desc>@mdo.desc</desc>
  <kws>
  @mdo.keywords map { k=>
    <kw>k</kw>
  }
  </kws>
</MyDomainObject>

然后在您的控制器中

def c = Action {
  val o = MyDomainObject("mine", "for example", List("stack", "over", "flow"))
  Ok(views.xml.mdo(o))
}

否则,你可以在编组库的帮助下使用与toJson类似的toXml函数