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
*/
public static String arrayToStringList(List<Object> 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();
}
}