return mc.valueOf((Double) o);
} else if (o instanceof Integer) {
return mc.valueOf((Integer) o);
} else if (o instanceof JSONArray) {
JSONArray a = (JSONArray) o;
RippleList l = mc.list();
for (int i = a.length() - 1; i >= 0; i--) {
try {
l = l.push(toRippleValue(a.get(i), mc));
} catch (JSONException e) {
throw new RippleException(e);
}
}
return l;