Mar*_*ins 2 json scala playframework
我正在尝试使用Scala和Play Framework编写JSON API.我的应用程序需要以JSON格式响应请求,将产品列表转换为JSON
我正在writes我的Product类上实现一个方法,它将字段转换为JSON.每个值都需要使用类似的方法转换为jsJsString
这是
def writes(product: Product) = {
JsObject(Seq(
"id" -> JsNumber(product.id),
"title" -> JsString(product.title),
"description" -> JsString(product.description),
"available_online" -> JsBoolean(product.available_online)
))
}
Run Code Online (Sandbox Code Playgroud)
由于类型不匹配,此代码在第三行中失败
[error] found : Integer
[error] required: BigDecimal
Run Code Online (Sandbox Code Playgroud)
但是当我查阅文档时,似乎没有整数的类型.
那么我应该如何处理像idJSON 这样的字段呢?
JSON不区分整数和浮点类型,这就是为什么你只看到JsNumber(value: BigDecimal)文档中的方法.您必须使用该对象将您转换Integer为BigDecimal第一个BigDecimal:
def writes(product: Product) = {
JsObject(Seq(
"id" -> JsNumber(BigDecimal(product.id)),
"title" -> JsString(product.title),
"description" -> JsString(product.description),
"available_online" -> JsBoolean(product.available_online)
))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |