Hi there
I recently started using elemental.json. But I recently stumbled upon
strange (expected?) behaviour. Is there any good documentation? The javadoc
is quiet lacking, at least in this regard. So, what am I confused about?
First, there is a "getNumber" (and it's equivalents), but those fail with a
classcastexception, if you use it on parsed Json. There is no problem if
you use it on values that were "put" there. Is that working as intended?
Second, and I guess this is a bug: If you use get(key).asBoolean() on a
recently parsed value, you get the correct value. But if you use it on a
value "false" you "put" in, you get true.
I would be happy if someone could shine some light on this for me :)
I wrote a small "test" to demonstrate it:
import com.google.gwt.core.shared.GWT;
import elemental.json.JsonObject;
import elemental.json.impl.JsonUtil;
public class ElementalJsonConfusion {
public static void testBoolean() {
String json = "{\"booleanValue\":false}";
JsonObject jsonValue = (JsonObject) JsonUtil.parse(json);
// output false
GWT.log("First asBoolean: " + jsonValue.get("booleanValue").asBoolean());
jsonValue.put("booleanValue", false);
// output true
GWT.log("Second asBoolean: " + jsonValue.get("booleanValue").asBoolean());
jsonValue = (JsonObject) JsonUtil.parse(json);
// output Exception
try {
GWT.log("First getBoolean: " + jsonValue.getBoolean("booleanValue"));
} catch (ClassCastException e) {
GWT.log("First getBoolean ClassCastException");
}
jsonValue.put("booleanValue", false);
// Output false
GWT.log("Second getBoolean: " + jsonValue.getBoolean("booleanValue"));
}
public static void testNumber() {
String json = "{\"numberValue\":123}";
JsonObject jsonValue = (JsonObject) JsonUtil.parse(json);
jsonValue = (JsonObject) JsonUtil.parse(json);
// output Exception
try {
GWT.log("First getNumber: " + jsonValue.getNumber("numberValue"));
} catch (ClassCastException e) {
GWT.log("First getNumber ClassCastException");
}
jsonValue.put("numberValue", 123);
// Output 123
GWT.log("Second getNumber: " + jsonValue.getNumber("numberValue"));
}
}
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.