play的Json测试

上代码

import play.api.libs.json.{Json, JsValue, Writes}

/**
 * Created by DGA on 2016/3/31.
 */
case class Bar(x:String,y:Int) {}
object Bar{
  implicit val implicitBarWrites = new Writes[Bar]{
    override def writes(testJson: Bar): JsValue = {
      Json.obj(
          "x" -> testJson.x,
          "y" -> testJson.y
      )
    }
  }
}

case class Foo(id: String, bar: Bar)


object TestJson{
  implicit val fooWrites = Json.writes[Foo]

  def main(args: Array[String]) {
    println(
      Json.prettyPrint(Json.toJson(Bar("x",1)))
    )
    println(
      Json.prettyPrint(Json.toJson(Foo("foo",Bar("x",1))))
    )

  }

}

测试结果

{
  "x" : "x",
  "y" : 1
}
{
  "id" : "foo",
  "bar" : {
    "x" : "x",
    "y" : 1
  }
}

隐式转换 将对象转换为json格式的字符串, Json.writes用起来更简洁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值