Play Framework - JSON 객체에 필드 추가



0 Answers

나는 해결책을 스스로 발견했다. 실제로 Json.toJson의 반환 유형 인 JsValue에는 그러한 메소드가 없지만 JsObject ( http://www.playframework.com/documentation/2.2.x/api/scala/index.html#play.api.libs.json.JsObject )가 수행하므로 솔루션은 다음과 같습니다.

val jsonObject = Json.toJson(classAObject).as[JsObject]
jsonObject + ("c", JsNumber(3)) 

나는 누군가가이 유용한 찾을 것입니다 :)

Question

Scala를 사용하여 Play Framework의 Json 객체에 필드를 추가하는 데 문제가 있습니다.

데이터가 들어있는 사례 클래스가 있습니다. 예 :

case class ClassA(a:Int,b:Int)

Json Writes를 사용하여 Json 객체를 만들 수 있습니다.

val classAObject = ClassA(1,2)
implicit val classAWrites= Json.writes[ClassA]
val jsonObject = Json.toJson(classAObject)

Json은 다음과 같이 보입니다.

{ a:1, b:2 }

Json 객체에 추가 'c'필드를 추가하고 싶다고 가정 해 봅시다. 결과:

{ a:1, b:2, c:3 }

Json.obj를 사용하여 새 사례 클래스를 만들거나 내 Json 객체를 직접 만들지 않고 어떻게 할 수 있습니까? 나는 다음과 같은 것을 찾고있다.

jsonObject.merge({c:3}) 

어떤 도움을 주셔서 감사합니다!




Related