package jalview.util; import java.io.IOException; import java.io.Reader; import java.util.List; import org.json.simple.parser.ParseException; public class JSONUtils { /** * Converts a JSONArray of values to a string as a comma-separated list. * Answers null if the array is null or empty. * * @param jsonArray * @return */ public static String arrayToStringList(List jsonArray) { int n; if (jsonArray == null || (n = jsonArray.size()) == 0) { return null; } /** * BH TODO to Platform? * * @j2sNative * * 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(); } } /** * 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(); } }