diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-19 00:53:52 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-19 00:53:52 +0000 |
commit | d683dc4b30c79348b5e73f0f11b1cfd8ce4b9812 (patch) | |
tree | 3b64741b708c3e13a6a301f7df21bec070547bfc /sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java | |
parent | a0bfd24b7af22df3174e1c1e4e6d2eb913f41d2f (diff) |
Merge branch 'jaxrs' into trunk
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@945980 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java b/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java index cdcad3a472..028690a789 100644 --- a/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java +++ b/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java @@ -19,11 +19,14 @@ package org.apache.tuscany.sca.databinding.json; +import java.util.Collection; + import org.apache.tuscany.sca.databinding.json.jackson.JacksonHelper; import org.codehaus.jackson.JsonNode; import org.codehaus.jackson.JsonParser; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; +import org.json.JSONArray; /** * @version $Rev$ $Date$ @@ -79,19 +82,22 @@ public class JSONHelper { return json; } - public static <T> T toJSON(String json, Class<T> type) { + public static Object toJSON(String json, Class<?> type) { if (type == JSONObject.class) { try { - return type.cast(new JSONObject(json)); + return new JSONObject(json); } catch (JSONException e) { throw new IllegalArgumentException(e); } } else { if (type == null) { - type = (Class<T>)org.json.JSONObject.class; + type = org.json.JSONObject.class; } try { - return type.cast(new org.json.JSONObject(json)); + if (type == JSONArray.class || type.isArray() || Collection.class.isAssignableFrom(type)) { + return new JSONArray(json); + } + return new org.json.JSONObject(json); } catch (org.json.JSONException e) { throw new IllegalArgumentException(e); } |