我想转换我的东西:
case class Message (
var text: String = "",
var `type`: String = "error"
)
case class ValidationFieldError(
var fieldName:String, message:Message,
var value:String = "",
var suggestions:List[String] = List[String]()
)
到json对象......
import play.api.libs.json.{Json, JsValue}
..在这里,我尝试使用Json.format
implicit val validationFieldErrorFormat = Json.format[Message]
implicit val validationFieldErrorFormat = Json.format[ValidationFieldError]
..
当我做Json.toJson(errors)
时,我得到了json数组。非常好。我希望得到json对象。要像这样回到json结构:
{
"email": {
"message": {"type": "error", "text": "email duplication"},
"value": "",
"suggestions": [ ]
},
"username" : {... etc. }
}
我一直在尝试尝试但现在放弃了。使用StringBuilder
获得所需的json。
问:进行此类结构/转换的方法是什么。
答案 0 :(得分:0)
你可以这样做:
Json.obj(
"email" -> Json.obj(
"message" -> Json.obj("type" -> "error", "text" -> "email duplication"), // or use Json.toJson(your object)(implicit format) with desired Format
"value" -> "",
"suggestions" -> Seq()
),
"username" -> Json.obj(...)
)