static String escapeString(String src) { if (src==null) return null; for (int i=0; i<src.length(); i++) { if (getEscapedChar(src.charAt(i))!=null) { StringBuilder sb=new StringBuilder(); if (i>0) sb.append(src, 0, i); return doEscapeString(sb, src, i); } } return src; }
static String escapeName(String name) { if (name.length()==0 || needsEscapeName.matcher(name).find()) return "\""+JsonWriter.escapeString(name)+"\""; else return name; }
case OBJECT: JsonObject obj=value.asObject(); if (obj.size()>0) nl(tw, level); tw.write('{'); for (JsonObject.Member pair : obj) { if (following) tw.write(","); nl(tw, level+1); tw.write('\"'); tw.write(escapeString(pair.getName())); tw.write("\":"); if (format && vType!=JsonType.ARRAY && vType!=JsonType.OBJECT) tw.write(" "); if (v==null) tw.write("null"); else save(v, tw, level+1); following=true; if (following) nl(tw, level); tw.write('}'); break; JsonArray arr=value.asArray(); int n=arr.size(); if (n>0) nl(tw, level); tw.write('['); for (int i=0; i<n; i++) { JsonValue v=arr.get(i); JsonType vType=v.getType(); if (vType!=JsonType.ARRAY && vType!=JsonType.OBJECT) nl(tw, level+1);
/** * Writes the JSON/Hjson representation of this value to the given writer using the given formatting. * <p> * Writing performance can be improved by using a {@link java.io.BufferedWriter BufferedWriter}. * </p> * * @param writer the writer to write this value to * @param format controls the formatting * @throws IOException if an I/O error occurs in the writer */ public void writeTo(Writer writer, Stringify format) throws IOException { WritingBuffer buffer=new WritingBuffer(writer, 128); switch (format) { case PLAIN: new JsonWriter(false).save(this, buffer, 0); break; case FORMATTED: new JsonWriter(true).save(this, buffer, 0); break; case HJSON: new HjsonWriter(null).save(this, buffer, 0, "", true); break; } buffer.flush(); }
private static String doEscapeString(StringBuilder sb, String src, int cur) { int start=cur; for (int i=cur; i<src.length(); i++) { String escaped=getEscapedChar(src.charAt(i)); if (escaped!=null) { sb.append(src, start, i); sb.append(escaped); start=i+1; } } sb.append(src, start, src.length()); return sb.toString(); }
case OBJECT: JsonObject obj=value.asObject(); if (obj.size()>0) nl(tw, level); tw.write('{'); for (JsonObject.Member pair : obj) { if (following) tw.write(","); nl(tw, level+1); tw.write('\"'); tw.write(escapeString(pair.getName())); tw.write("\":"); if (format && vType!=JsonType.ARRAY && vType!=JsonType.OBJECT) tw.write(" "); if (v==null) tw.write("null"); else save(v, tw, level+1); following=true; if (following) nl(tw, level); tw.write('}'); break; JsonArray arr=value.asArray(); int n=arr.size(); if (n>0) nl(tw, level); tw.write('['); for (int i=0; i<n; i++) { JsonValue v=arr.get(i); JsonType vType=v.getType(); if (vType!=JsonType.ARRAY && vType!=JsonType.OBJECT) nl(tw, level+1);
/** * Writes the JSON/Hjson representation of this value to the given writer using the given formatting. * <p> * Writing performance can be improved by using a {@link java.io.BufferedWriter BufferedWriter}. * </p> * * @param writer the writer to write this value to * @param format controls the formatting * @throws IOException if an I/O error occurs in the writer */ public void writeTo(Writer writer, Stringify format) throws IOException { WritingBuffer buffer=new WritingBuffer(writer, 128); switch (format) { case PLAIN: new JsonWriter(false).save(this, buffer, 0); break; case FORMATTED: new JsonWriter(true).save(this, buffer, 0); break; case HJSON: new HjsonWriter(null).save(this, buffer, 0, "", true); break; } buffer.flush(); }
private static String doEscapeString(StringBuilder sb, String src, int cur) { int start=cur; for (int i=cur; i<src.length(); i++) { String escaped=getEscapedChar(src.charAt(i)); if (escaped!=null) { sb.append(src, start, i); sb.append(escaped); start=i+1; } } sb.append(src, start, src.length()); return sb.toString(); }
static String escapeString(String src) { if (src==null) return null; for (int i=0; i<src.length(); i++) { if (getEscapedChar(src.charAt(i))!=null) { StringBuilder sb=new StringBuilder(); if (i>0) sb.append(src, 0, i); return doEscapeString(sb, src, i); } } return src; }
static String escapeName(String name) { if (name.length()==0 || needsEscapeName.matcher(name).find()) return "\""+JsonWriter.escapeString(name)+"\""; else return name; }
static String escapeName(String name) { boolean needsEscape=name.length()==0; for(char ch : name.toCharArray()) { if (HjsonParser.isWhiteSpace(ch) || ch=='{' || ch=='}' || ch=='[' || ch==']' || ch==',' || ch==':') { needsEscape=true; break; } } if (needsEscape) return "\""+JsonWriter.escapeString(name)+"\""; else return name; }
static String escapeName(String name) { boolean needsEscape=name.length()==0; for(char ch : name.toCharArray()) { if (HjsonParser.isWhiteSpace(ch) || ch=='{' || ch=='}' || ch=='[' || ch==']' || ch==',' || ch==':') { needsEscape=true; break; } } if (needsEscape) return "\""+JsonWriter.escapeString(name)+"\""; else return name; }
else tw.write(separator+"\""+JsonWriter.escapeString(value)+"\"");
else tw.write(separator+"\""+JsonWriter.escapeString(value)+"\"");