X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FJSONUtils.java;h=7a5fb15a389755ea2e37d070fe6ddf8a171f716b;hb=77a64be30e2b21de5688ce37a63648ad3fb1bec8;hp=f91275dd4791ad8a6155076cef5cf3953baddc5b;hpb=8e7cf85a7f61f425e808cac53ead7bc27e402242;p=jalview.git diff --git a/src/jalview/util/JSONUtils.java b/src/jalview/util/JSONUtils.java index f91275d..7a5fb15 100644 --- a/src/jalview/util/JSONUtils.java +++ b/src/jalview/util/JSONUtils.java @@ -1,13 +1,29 @@ +/* + * 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 jalview.javascript.json.JSON; - -import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.util.List; -import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class JSONUtils @@ -22,66 +38,56 @@ public class JSONUtils */ public static String arrayToStringList(List jsonArray) { - int n; - + int n; + if (jsonArray == null || (n = jsonArray.size()) == 0) { return null; } /** + * BH TODO to Platform? + * * @j2sNative * - * return jsonArray.elementData.slice(0, n).join(","); + * return jsonArray.elementData.slice(0, n).join(","); */ { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < n; i++) - { - if (i > 0) - { - sb.append(","); - } - sb.append(jsonArray.get(i).toString()); - } - return sb.toString(); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < n; i++) + { + if (i > 0) + { + sb.append(","); + } + sb.append(jsonArray.get(i).toString()); + } + return sb.toString(); } } /** - * The method all JSON parsing must go through for JavaScript. - * @param r a BufferedReader or a javascript.json.JSON.JSONReader + * 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 + public static Object parse(Reader r) throws IOException, ParseException { - // Using a file reader is not currently supported in SwingJS JavaScript - - if (r == null) - return null; -// -// Platform.timeCheck("JSONUtils.parse0 ", Platform.TIME_MARK); + return Platform.parseJSON(r); + } - Object ret; - if (Platform.isJS()) - { - if (r instanceof FileReader) - { - throw new IOException("StringJS does not support FileReader parsing for JSON -- but it could..."); - } - return JSON.parse(r); - } else { - ret = new JSONParser().parse(r); - } -// Platform.timeCheck("JSONUtils.parse1 ", Platform.TIME_MARK); - return ret; + public static Object parse(String json) throws ParseException + { + return Platform.parseJSON(json); } - public static Object parse(String json) throws ParseException + public static String stringify(Object obj) { - return (Platform.isJS() ? JSON.parse(json) : new JSONParser().parse(json)); + return new org.json.JSONObject(obj).toString(); } }