我正在将我的角形式的JSON数据发送到Play Framework Controller。 Controller接收消息,当我控制台打印它时,它看起来像如下:
{"username":"{ \"tID\": 123, \"cID\": \"TEST\", \"version\": 1}"}
到目前为止我所做的是:[注意:我正在使用play.api.libs.json
]
def sendMessage = Action(parse.json) {
request =>
val message: JsValue = request.body
val cID = (message \ "cID").get
}
但是我收到错误java.util.NoSuchElementException: None.get
,因为它无法从JSON字符串中检索cID?如何在没有转义字符\
答案 0 :(得分:1)
“用户名”的值已编码为Json String
,因为您应解码Json String
试试这个。
def sendMessage = Action(parse.json) { request =>
val message: JsValue = request.body
val userNameJsonStr = (message \ "username").as[String]
val value = Json.parse(userNameJsonStr)
val cID = (value \ "cID")
}