2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
23 import java.io.IOException;
24 import java.io.Reader;
25 import java.util.List;
27 import org.json.simple.parser.ParseException;
29 public class JSONUtils
33 * Converts a JSONArray of values to a string as a comma-separated list.
34 * Answers null if the array is null or empty.
39 public static String arrayToStringList(List<Object> jsonArray)
43 if (jsonArray == null || (n = jsonArray.size()) == 0)
49 * BH TODO to Platform?
53 * return jsonArray.elementData.slice(0, n).join(",");
56 StringBuilder sb = new StringBuilder();
57 for (int i = 0; i < n; i++)
63 sb.append(jsonArray.get(i).toString());
70 * The method all JSON parsing must go through for JavaScript.
73 * a BufferedReader or a javascript.json.JSON.JSONReader
76 * @throws ParseException
78 public static Object parse(Reader r) throws IOException, ParseException
80 return Platform.parseJSON(r);
83 public static Object parse(String json) throws ParseException
85 return Platform.parseJSON(json);
88 public static String stringify(Object obj)
90 return new org.json.JSONObject(obj).toString();