Mercurial Hosting > luan
changeset 1117:9a1aa6fc0b4e
remove json_pretty_string and make json_string somewhat pretty
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 04 Aug 2017 11:15:53 -0600 |
parents | 633ca24d4d6e |
children | e4710ddfd287 |
files | src/luan/lib/json/JsonToString.java src/luan/modules/Parsers.luan |
diffstat | 2 files changed, 12 insertions(+), 72 deletions(-) [+] |
line wrap: on
line diff
diff -r 633ca24d4d6e -r 9a1aa6fc0b4e src/luan/lib/json/JsonToString.java --- a/src/luan/lib/json/JsonToString.java Fri Aug 04 11:06:08 2017 -0600 +++ b/src/luan/lib/json/JsonToString.java Fri Aug 04 11:15:53 2017 -0600 @@ -15,11 +15,12 @@ public static String toString(Object obj) throws JsonException { StringBuilder sb = new StringBuilder(); - toString(obj,sb); + toString(obj,sb,0); + sb.append('\n'); return sb.toString(); } - private static void toString(Object obj,StringBuilder sb) throws JsonException { + private static void toString(Object obj,StringBuilder sb,int indented) throws JsonException { if( obj == null || obj instanceof Boolean || obj instanceof Number ) { sb.append(obj); return; @@ -29,11 +30,11 @@ return; } if( obj instanceof List ) { - toString((List)obj,sb); + toString((List)obj,sb,indented); return; } if( obj instanceof Map ) { - toString((Map)obj,sb); + toString((Map)obj,sb,indented); return; } throw new JsonException("can't handle type "+obj.getClass().getName()); @@ -72,76 +73,13 @@ sb.append('"'); } - private static void toString(List list,StringBuilder sb) { - sb.append('['); - if( !list.isEmpty() ) { - toString(list.get(0),sb); - for( int i=1; i<list.size(); i++ ) { - sb.append(','); - toString(list.get(i),sb); - } - } - sb.append(']'); - return; - } - - private static void toString(Map map,StringBuilder sb) throws JsonException { - sb.append('{'); - if( !map.isEmpty() ) { - Iterator<Map.Entry> i = map.entrySet().iterator(); - toString(i.next(),sb); - while( i.hasNext() ) { - sb.append(','); - toString(i.next(),sb); - } - } - sb.append('}'); - } - - private static void toString(Map.Entry entry,StringBuilder sb) throws JsonException { - Object key = entry.getKey(); - if( !(key instanceof String) ) - throw new JsonException("table keys must be strings"); - toString((String)key,sb); - sb.append(':'); - toString(entry.getValue(),sb); - } - - - public static String toPrettyString(Object obj) throws JsonException { - StringBuilder sb = new StringBuilder(); - toString(obj,sb,0); - sb.append('\n'); - return sb.toString(); - } - - private static void toString(Object obj,StringBuilder sb,int indented) throws JsonException { - if( obj instanceof List ) { - toString((List)obj,sb,indented); - return; - } - if( obj instanceof Map ) { - toString((Map)obj,sb,indented); - return; - } - toString(obj,sb); - } - - private static void indent(StringBuilder sb,int indented) { - sb.append('\n'); - for( int i=0; i<indented; i++ ) { - sb.append('\t'); - } - } - private static void toString(List list,StringBuilder sb,int indented) { sb.append('['); if( !list.isEmpty() ) { indent(sb,indented+1); toString(list.get(0),sb,indented+1); for( int i=1; i<list.size(); i++ ) { - sb.append(','); - indent(sb,indented+1); + sb.append(", "); toString(list.get(i),sb,indented+1); } indent(sb,indented); @@ -175,6 +113,12 @@ toString(entry.getValue(),sb,indented); } + private static void indent(StringBuilder sb,int indented) { + sb.append('\n'); + for( int i=0; i<indented; i++ ) { + sb.append('\t'); + } + } private JsonToString() {} // never }
diff -r 633ca24d4d6e -r 9a1aa6fc0b4e src/luan/modules/Parsers.luan --- a/src/luan/modules/Parsers.luan Fri Aug 04 11:06:08 2017 -0600 +++ b/src/luan/modules/Parsers.luan Fri Aug 04 11:15:53 2017 -0600 @@ -25,8 +25,4 @@ return JsonToString.toString(Luan.toJava(obj)) end -function Parsers.json_pretty_string(obj) - return JsonToString.toPrettyString(Luan.toJava(obj)) -end - return Parsers