/** * Writes stored name to JSON string. Cleans storage. */ protected void popName() { if (isPushed) { if (pushedComma) { writeComma(); } String name = pushedName; pushedName = null; isPushed = false; writeName(name); } }
/** * Writes object's property name: string and a colon. */ public void writeName(final String name) { if (name != null) { writeString(name); } else { write(NULL); } write(':'); }
@Test void testJsonWriter() { StringBuilder sb = new StringBuilder(); JsonWriter jsonWriter = new JsonWriter(sb, false); jsonWriter.writeOpenObject(); jsonWriter.writeName("one"); jsonWriter.writeNumber(Long.valueOf(123)); jsonWriter.writeComma(); jsonWriter.writeName("two"); jsonWriter.writeString("UberLight"); jsonWriter.writeCloseObject(); assertEquals("{\"one\":123,\"two\":\"UberLight\"}", sb.toString()); } }
popName(); write(StringPool.QUOTE); write("\\\""); break; case '\\': write("\\\\"); break; case '/': if (strictStringEncoding) { write("\\/"); write(c); write("\\b"); break; case '\f': write("\\f"); break; case '\n': write("\\n"); break; case '\r': write("\\r"); break; case '\t': write("\\t"); break;
/** * {@inheritDoc} */ @Override public void writeComma() { JsonValueContext valueContext = peekValueContext(); if (valueContext != null) { valueContext.incrementIndex(); } super.writeComma(); }
/** * Writes close object sign. */ public void writeCloseObject() { write('}'); }
/** * Appends char sequence to the buffer. Used for numbers, nulls, booleans, etc. */ public void write(final CharSequence charSequence) { popName(); try { out.append(charSequence); } catch (IOException ioex) { throw new JsonException(ioex); } }
/** * {@inheritDoc} */ @Override public void pushName(final String name, final boolean withComma) { JsonValueContext valueContext = peekValueContext(); if (valueContext != null) { valueContext.setPropertyName(name); } super.pushName(name, withComma); }
/** * Writes close array sign. */ public void writeCloseArray() { write(']'); }
/** * Writes comma. */ public void writeComma() { write(','); }