JSONObject#keySet
returns a Set
, which is an object wrapping a JS array (in prod mode; in DevMode it's the standard java.util.Set
from your JVM.
So, either use plain Java:
Set<String> keys = c.keySet();
for (String key : keys) {
Window.alert(key); // or call a JSNI method here if you need?
}
or first extract the underlying JavaScriptObject
and then you can use a JS for…in
:
var o = c.@com.google.gwt.json.client.JSONObject::getJavaScriptObject()();
for (var k in o) {
if (o.hasOwnProperty(k)) {
alert(k);
}
}