2013-08-13 37 views
8

Khi chơi! (2,2-M2) Tôi có một JsValue tương tự như:Làm cách nào để đếm số lượng JsObject trong JsValue?

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

Tôi chỉ muốn số phần tử trong JsValue này. Tôi có thể lấy nó, clunkily, thông qua

(people \\ "name").size 

nhưng tính toán kích thước này nằm bên trong một phương pháp mà nhận JsValues ​​với nội dung khác nhau, và name sẽ phải lúc nào cũng có mặt, như

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

hoặc

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

Tôi đang kéo tóc ra, làm thế nào để tôi có được số lượng yếu tố trong các JsValues ​​này?

Trả lời

22

Nếu bạn muốn đếm số đối tượng bên trong mảng, bạn có thể ánh xạ đối tượng đó đến một số JsArray.

people.as[JsArray].value.size hoặc people.asOpt[JsArray].map(_.value.size).

+0

Cảm ơn bạn cảm ơn bạn, điều đó hoạt động – JennyDanger

Các vấn đề liên quan