0

I have a case class like this:

case class BadResponse(message:String,errorCode:Integer,errors:Option[JsValue])

it seem that json4s write does not understand JsValue:

write(BadResponse(messagesApi("error_form"),10001,Some(error.errorsAsJson)))

return

{"message":"Form Error","errorCode":10001,"errors":{}} although Logger.debug(error.errorsAsJson.toString) shows a list of errors

Is there an implementation to make json4s write play.api.libs.json.JsValue properly?

I'm thinking about converting JsValue to JValue (which is json4s based object), but I also don't know how to do it.

mmdc
  • 1,677
  • 3
  • 20
  • 32

1 Answers1

0

Solved it.

I replaced

error.errorsAsJson by org.json4s.native.JsonMethods.parse(error.errorsAsJson.toString)

and changed

case class BadResponse(message:String,errorCode:Integer,errors:Option[JsValue])

to

case class BadResponse(message:String,errorCode:Integer,errors:Option[JValue])

mmdc
  • 1,677
  • 3
  • 20
  • 32