Reputation: 45
I am trying to pass json values to my method with a POST but i'm getting the error below:
Handler.scala:320) [play_2.11-2.3.10.jar:2.3.10]
at scala.Option.map(Option.scala:146) [scala-library-2.11.11.jar:na]
Caused by: play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsarray,WrappedArray())))))
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[play-json_2.11-2.3.10.jar:2.3.10]
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[play-json_2.11-2.3.10.jar:2.3.10]
at play.api.libs.json.JsResult$class.fold(JsResult.scala:77) ~[play-json_2.11-2.3.10.jar:2.3.10]
at play.api.libs.json.JsError.fold(JsResult.scala:13) ~[play-json_2.11-2.3.10.jar:2.3.10]
at play.api.libs.json.JsValue$class.as(JsValue.scala:65) ~[play-json_2.11-2.3.10.jar:2.3.10]
and this happens on this variable declaration
val friends = (json \ "friends ").as[JsArray].value
I'm able to successfully create a post using Postman without any issue when I format my json as follow
{"success":true,"friends":[
{
"id":1,
"name":"john",
"age":"19",
}
]
}
but when i reformat my json to
[
{
"id":1,
"name":"johny",
}
]
I get
[JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsarray,WrappedArray())))))]
Upvotes: 0
Views: 117
Reputation: 9158
.as
is unsafe.friends
field in [ { "id":1, "name":"johny", }]
(being a JsArray
or whatever JsValue
).Upvotes: 2