2013-08-13 18 views
8

W grze! (2,2-M2) Mam JsValue podobny do:Jak mogę policzyć liczbę JsObjects w JsValue?

val people: JsValue = [{"name":"Alice","subdomain":"alice","color":"orange"},{"name":"Jorge","subdomain":"jorge","color":"blue"},{"name":"Bob","subdomain":"robert","color":"green"}...] 

Chcę tylko liczbę elementów w tym JsValue. Mogę dostać to, clunkily poprzez

(people \\ "name").size 

ale ta kalkulacja rozmiar siedzi wewnątrz metody, która odbiera JsValues ​​z różną zawartością, a name nie zawsze będzie obecny, jak

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

lub

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

Wyciągam włosy, jak mogę uzyskać liczbę elementów w tych wartościach JsValues?

Odpowiedz

22

Jeśli chcesz policzyć liczbę obiektów w tablicy, możesz odwzorować ją na JsArray.

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

+0

Dziękuję, dziękuję, dziękuję, że działa – JennyDanger

Powiązane problemy