X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FJSONUtils.java;h=7a5fb15a389755ea2e37d070fe6ddf8a171f716b;hb=dc5a5883cfe90255079e41538e56bc433bd1e4a5;hp=eec78f9f6ae93df5da9bae5bb4cfc066c3cd511e;hpb=c7827c8c0d28158fcea4ebc132c7b457d60f557d;p=jalview.git diff --git a/src/jalview/util/JSONUtils.java b/src/jalview/util/JSONUtils.java index eec78f9..7a5fb15 100644 --- a/src/jalview/util/JSONUtils.java +++ b/src/jalview/util/JSONUtils.java @@ -20,7 +20,11 @@ */ package jalview.util; -import org.json.simple.JSONArray; +import java.io.IOException; +import java.io.Reader; +import java.util.List; + +import org.json.simple.parser.ParseException; public class JSONUtils { @@ -32,23 +36,58 @@ public class JSONUtils * @param jsonArray * @return */ - public static String arrayToList(JSONArray jsonArray) + public static String arrayToStringList(List jsonArray) { - if (jsonArray == null) + int n; + + if (jsonArray == null || (n = jsonArray.size()) == 0) { return null; } - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < jsonArray.size(); i++) + /** + * BH TODO to Platform? + * + * @j2sNative + * + * return jsonArray.elementData.slice(0, n).join(","); + */ { - if (i > 0) + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < n; i++) { - sb.append(","); + if (i > 0) + { + sb.append(","); + } + sb.append(jsonArray.get(i).toString()); } - sb.append(jsonArray.get(i).toString()); + return sb.toString(); } - return sb.length() == 0 ? null : sb.toString(); + } + + /** + * The method all JSON parsing must go through for JavaScript. + * + * @param r + * a BufferedReader or a javascript.json.JSON.JSONReader + * @return + * @throws IOException + * @throws ParseException + */ + public static Object parse(Reader r) throws IOException, ParseException + { + return Platform.parseJSON(r); + } + + public static Object parse(String json) throws ParseException + { + return Platform.parseJSON(json); + } + + public static String stringify(Object obj) + { + return new org.json.JSONObject(obj).toString(); } }