2014-02-27 121 views
4

是否可以向JsObject添加新字段?Play2向JsObject添加新字段

val jsonObj = Json.obj() 
jsonObj.put("field" -> 100) <==== Somthing like this 

我有很多添加新字段的方法。我如何動態創建JsObject?

+0

我發現了這樣的事情:jsonObj ++ = Json.obj(「場」 - > 100) 我是否總是需要創建新的JsObject? –

+2

是的,你做的。 'play.api.libs.json ...'對象是不可改變的 – serejja

回答

9

是的,您可以使用「+」方法添加一個新字段。請注意,對象是不可改變的,所以這將創建JsObject的新副本與添加的字段:

val obj = Json.obj() 
// obj - {} 
val newObj = obj + ("name" -> JsString("Kip")) 
// newObj - {"name":"Kip"} 
+0

你也許會試試,看的JsObject + VAL newObj = OBJ +源後( 「名」,JsString( 「硤」)) 但是,如果在編譯器選項中運行-Xlint,則會得到此警告:通過創建2元組來調整參數列表:這可能不是您想要的。 –