JsObject和JsValue的作用几乎相同,但在JsObject中
val data[JsObject] = Json.obj("id1"-> "some_id1")
val newData[JsObject] = data ++ Json.obj("id"-> "some_id")
我们可以在JsObject中添加一个新的键值对,但我仍然没有弄清楚如何在JsValue中添加键值对。
JsObject和JsValue的作用几乎相同,但在JsObject中
val data[JsObject] = Json.obj("id1"-> "some_id1")
val newData[JsObject] = data ++ Json.obj("id"-> "some_id")
JsObject
是代表JSON对象({...}
)的JsValue
子类,所以您可以通过使用它执行更多操作。 JsValue
可以是字符串、数字、对象或数组。 因此,您不能假设它具有键值对。 如果您有一个val x: JsValue
并且知道它是JsObject
,则可以使用x.as[JsObject]
进行强制类型转换,或者如果不确定它是否是JsObject
,则可以使用x.asOpt[JsObject]
获取一个Option[JsObject]
。
JsValue
添加键/值对,是这样吗? - franklinJsValue
(我们称之为x
),你知道它是一个JsObject
,那么你可以像这样进行转换x.as[JsObject]
,然后添加键值对。否则你无法添加键值对。 - Simon