Play Json API를 사용하여이 작업을 수행 할 수 있습니다.
먼저 당신은 당신이 당신의 JsValue에 어느 JSON을 통과 한 다음 수정하여 값을 추가 할 수 있습니다, 지금, 당신의 JSON 문자열이 JsValue
플레이
import play.api.libs.json._
val jsonString =
"""
|{
| "status": "ok",
| "user": {
| "id": 39216,
| "first_name": "naghmeh",
| "username": "test"
| }
|}
""".stripMargin
val jsValue = Json.parse(jsonString)
을 구문 분석 할 필요가있다.
val result = jsValue match {
case jsObject: JsObject => (jsObject \ "user").as[JsObject] match {
case userJsObject: JsObject => jsObject ++ Json.obj(
"user" -> (userJsObject ++ Json.obj(
"point" -> 10
))
)
case _ => jsValue
}
case _ => jsValue
}
또는 재생 JSON의 JsonTransformer API를 사용하여,
val jsonTransformer = (__ \ "user").json.update(
__.read[JsObject].map(jsObject => jsObject ++ Json.obj("point" -> 10))
)
val result2 = jsValue.transform(jsonTransformer) match {
case JsSuccess(jsObject, _) => jsObject
case _ => jsValue
}
영업 이익은'JsObject'에'JsValue'를 추가하는 방법을 요구하지 않았다. 그는 자신의 Json 문자열을 어떻게 JsObject로 파싱 할 수 있는지 알고 싶어합니다. 그러면 JsObject에 추가 할 수 있도록'JsValue'를 어떻게 만들 수 있을까요? –