2016-12-05 3 views
0

JSObject и JsValue решает почти ту же цель, но в JSObjectВ чем разница между JsObject и JsValue в Scala?

val data[JsObject] = Json.obj("id1"-> "some_id1") 
val newData[JsObject] = data ++ Json.obj("id"-> "some_id") 

мы можем добавить новую пару ключ-значение в JSObject, но я до сих пор не понять, как добавить ключ -value пара в JsValue

ответ

1

Вы можете сделать больше с JsObject, потому что это подкласс JsValue, который представляет собой JSON объект ({...}). JsValue может быть строкой, числом, объектом или массивом. Поэтому вы не можете предположить, что он имеет пары ключевых значений. Если у вас есть val x: JsValue, который вы знаете, это JsObject, вы можете использовать x.as[JsObject], чтобы бросить его, или если вы не уверены, что это JsObject, вы можете использовать x.asOpt[JsObject], чтобы получить Option[JsObject].

+0

Спасибо, что показал мне подход – perfectus

Смежные вопросы