Jen*_*ger 10 scala playframework-2.0
在玩!(2.2-M2)我有一个类似于的JsValue:
val people: JsValue = [{"name":"Alice","subdomain":"alice","color":"orange"},{"name":"Jorge","subdomain":"jorge","color":"blue"},{"name":"Bob","subdomain":"robert","color":"green"}...]
Run Code Online (Sandbox Code Playgroud)
我只想要这个JsValue中的元素数量.我可以匆匆地通过
(people \\ "name").size
Run Code Online (Sandbox Code Playgroud)
但是这个大小计算位于一个方法中,该方法接收具有不同内容的JsValues,并且name不会总是存在,例如
val places: JsValue = [{"country":"UK", "country":"ES", ...]
Run Code Online (Sandbox Code Playgroud)
要么
val things: JsValue = [{"widget":"foo", "price":"1", "widget":"bar" ... ]
Run Code Online (Sandbox Code Playgroud)
我把头发拉出来,我如何才能获得这些JsValues中的元素数量?
Mar*_*ier 25
如果要计算数组中对象的数量,可以将其映射到a JsArray.
people.as[JsArray].value.size或people.asOpt[JsArray].map(_.value.size).