10. JSON Object Model → Map, List
static toJavaObject(JsonValue value) {
switch (value.getValueType()) {
case ValueType.OBJECT:
def map = new LinkedHashMap()
JsonObject object = (JsonObject) value
object?.each { String name, JsonValue v -> map[name] =
toJavaObject(v) }
return map
2013/09/20 10
11. case ValueType.ARRAY:
def list = new ArrayList()
JsonArray array = (JsonArray) value
array?.each { JsonValue v -> list << toJavaObject(v) }
return list
case ValueType.STRING:
JsonString st = (JsonString) value
return st.string
case ValueType.NUMBER:
JsonNumber num = (JsonNumber) value
return num.integral ? num.bigIntegerValueExact() :
num.bigDecimalValue()
2013/09/20 11