Scala 如何计算JsValue中JSObject的数量?

Scala 如何计算JsValue中JSObject的数量?,scala,playframework-2.0,Scala,Playframework 2.0,在游戏中!(2.2-M2)我有一个类似于: val people: JsValue = [{"name":"Alice","subdomain":"alice","color":"orange"},{"name":"Jorge","subdomain":"jorge","color":"blue"},{"name":"Bob","subdomain":"robert","color":"green"}...] 我只需要这个值中的元素数。我能搞定它,笨拙地,通过 (people \\ "name

在游戏中!(2.2-M2)我有一个类似于:

val people: JsValue = [{"name":"Alice","subdomain":"alice","color":"orange"},{"name":"Jorge","subdomain":"jorge","color":"blue"},{"name":"Bob","subdomain":"robert","color":"green"}...]
我只需要这个值中的元素数。我能搞定它,笨拙地,通过

(people \\ "name").size
但是这个大小计算位于一个方法中,该方法接收具有不同内容的JsValues,并且
name
不总是存在,比如

val places: JsValue = [{"country":"UK", "country":"ES", ...]


我在胡思乱想,我怎么才能得到这些JsValues中的元素数呢?

如果你想计算数组中的对象数,你可以将它映射到一个
JsArray

people.as[JsArray].value.size
people.asOpt[JsArray].map(u.value.size)

val things: JsValue = [{"widget":"foo", "price":"1", "widget":"bar" ... ]