When coercing JavaScript "array-like" objects into Java arrays, only indexed properties are preserved, and named properties are shaved off. Also, passing an arbitrary JavaScript dictionary object via ...
When data is read far more often than written, you can afford to organize it once and reuse that work on every query.