Mercurial Hosting > luan
comparison src/luan/lib/json/JsonToString.java @ 1295:9dca1e912658
improve web shell
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 10 Jan 2019 21:42:11 -0700 |
parents | b70102bab110 |
children | 6c8ceca4a10b |
comparison
equal
deleted
inserted
replaced
1294:2555154ad19f | 1295:9dca1e912658 |
---|---|
27 }; | 27 }; |
28 jts.toString(obj,sb,0); | 28 jts.toString(obj,sb,0); |
29 return sb.toString(); | 29 return sb.toString(); |
30 } | 30 } |
31 | 31 |
32 public static String encodeString(String s) { | |
33 StringBuilder sb = new StringBuilder(); | |
34 encodeString(s,sb); | |
35 return sb.toString(); | |
36 } | |
37 | |
32 private void toString(Object obj,StringBuilder sb,int indented) throws JsonException { | 38 private void toString(Object obj,StringBuilder sb,int indented) throws JsonException { |
33 if( obj == null || obj instanceof Boolean || obj instanceof Number ) { | 39 if( obj == null || obj instanceof Boolean || obj instanceof Number ) { |
34 sb.append(obj); | 40 sb.append(obj); |
35 return; | 41 return; |
36 } | 42 } |
47 return; | 53 return; |
48 } | 54 } |
49 throw new JsonException("can't handle type "+obj.getClass().getName()); | 55 throw new JsonException("can't handle type "+obj.getClass().getName()); |
50 } | 56 } |
51 | 57 |
52 private void toString(final String s,StringBuilder sb) { | 58 private static void toString(final String s,StringBuilder sb) { |
53 sb.append('"'); | 59 sb.append('"'); |
60 encodeString(s,sb); | |
61 sb.append('"'); | |
62 } | |
63 | |
64 private static void encodeString(final String s,StringBuilder sb) { | |
54 for( int i=0; i<s.length(); i++ ) { | 65 for( int i=0; i<s.length(); i++ ) { |
55 char c = s.charAt(i); | 66 char c = s.charAt(i); |
56 switch(c) { | 67 switch(c) { |
57 case '"': | 68 case '"': |
58 sb.append("\\\""); | 69 sb.append("\\\""); |
70 break; | |
71 case '\'': | |
72 sb.append("\\'"); | |
59 break; | 73 break; |
60 case '\\': | 74 case '\\': |
61 sb.append("\\\\"); | 75 sb.append("\\\\"); |
62 break; | 76 break; |
63 case '\b': | 77 case '\b': |
77 break; | 91 break; |
78 default: | 92 default: |
79 sb.append(c); | 93 sb.append(c); |
80 } | 94 } |
81 } | 95 } |
82 sb.append('"'); | |
83 } | 96 } |
84 | 97 |
85 private void toString(List list,StringBuilder sb,int indented) { | 98 private void toString(List list,StringBuilder sb,int indented) { |
86 sb.append('['); | 99 sb.append('['); |
87 if( !list.isEmpty() ) { | 100 if( !list.isEmpty() ) { |