X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FJSONUtils.java;h=7a5fb15a389755ea2e37d070fe6ddf8a171f716b;hb=692669611f7244598bd34df92e8a3e5cbaf9bd2e;hp=cdfc88e4a248bf93c384f2803153313797da6097;hpb=e4eca89202963f5f7c95ac002efd64fe0e79a25c;p=jalview.git diff --git a/src/jalview/util/JSONUtils.java b/src/jalview/util/JSONUtils.java index cdfc88e..7a5fb15 100644 --- a/src/jalview/util/JSONUtils.java +++ b/src/jalview/util/JSONUtils.java @@ -1,6 +1,30 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ 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 { @@ -12,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(); } }