diff src/goodjava/json/JsonToString.java @ 1518:f989778ca9e1

stringify, json_string
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 19 Jun 2020 17:50:25 -0600
parents 6a24c8b33d6b
children 99a8ac891914
line wrap: on
line diff
--- a/src/goodjava/json/JsonToString.java	Tue Jun 09 12:36:16 2020 -0600
+++ b/src/goodjava/json/JsonToString.java	Fri Jun 19 17:50:25 2020 -0600
@@ -8,9 +8,6 @@
 public final class JsonToString {
 	public boolean compressed = false;
 
-	private String colon;
-	private String comma;
-
 	public static final class JsonException extends RuntimeException {
 		private JsonException(String msg) {
 			super(msg);
@@ -18,8 +15,6 @@
 	}
 
 	public String toString(Object obj) throws JsonException {
-		colon = compressed ? ":" : ": ";
-		comma = compressed ? "," : ", ";
 		StringBuilder sb = new StringBuilder();
 		toString(obj,sb,0);
 		if( !compressed )
@@ -123,7 +118,8 @@
 			toString(list.get(0),sb,indented+1);
 			final int n = list.size();
 			for( int i=1; i<n; i++ ) {
-				sb.append(comma);
+				sb.append(',');
+				indent(sb,indented+1);
 				toString(list.get(i),sb,indented+1);
 			}
 			indent(sb,indented);
@@ -153,7 +149,7 @@
 		if( !(key instanceof String) )
 			throw new JsonException("table keys must be strings but got "+key.getClass().getSimpleName()+" ("+key+"="+entry.getValue()+")");
 		toString((String)key,sb);
-		sb.append(colon);
+		sb.append( compressed ? ":" : ": " );
 		toString(entry.getValue(),sb,indented);
 	}