2013-05-13 42 views
4

我使用Scala的播放框架,我需要给它必须看起来像这样输入: :建设斯卡拉/播放框架JSON文件

{ 
    id: "node37", 
    name: "3.7", 
    data: {}, 
    children:[] 
}, 

我怎样才能获得该格式与json?下面是从游戏框架的网站的例子:

val JsonObject= Json.obj(
    "users" -> Json.arr(
    Json.obj(
     "id" -> "bob", 
     "name" -> 31, 
     "data" -> JsNull, 
     "children" ->JsNull 
    ), 
    Json.obj(
     "id" -> "kiki", 
     "name" -> 25, 
     "data" -> JsNull, 
     "children" ->JsNull 
    ) 
) 
) 

回答

1
scala> import play.api.libs.json._ 
import play.api.libs.json._ 

scala> Json.obj("id" -> "node37", "name" -> "3.7", "data" -> Json.obj(), "children" -> Json.arr()) 
res4: play.api.libs.json.JsObject = {"id":"node37","name":"3.7","data":{},"children":[]} 

这是你需要什么?

1

您可能还希望当你想MyObject案例类的一个JSON版本为使用JSON库宏的情况下,类转换成JSON

import play.api.libs.json._ 

case class MyObject(id: String, name: String, data: JsObject = Json.obj(), children: Seq[MyObject]) 


implicit val myObjectFormat = Json.format[MyObject] 

然后,你可以运行:

val obj = MyObject("node37", "3.7", Json.obj(), Seq()) 
val jsonObj = Json.toJson(obj) 

如果你有一个返回JSON控制器动作,你可以在一个确定的结果

Ok(jsonObj) 
把它包3210

,客户端将看到与适当的的Content-Type标题为“应用/ JSON”

您可以找到有关JSON库和更多的信息在Docs