private JsonWriter(Writer writer) { this.stream = new com.google.gson.stream.JsonWriter(writer); this.stream.setSerializeNulls(false); this.stream.setLenient(false); this.serializeEmptyStrings = true; }
void setWriterOptions(JsonWriter writer) { writer.setSerializeNulls(serializeNulls); writer.setLenient(lenient); writer.setHtmlSafe(htmlSafe); writer.setIndent(prettyPrinting ? " " : ""); } }
/** * Returns a String representation of this element. */ @Override public String toString() { try { StringWriter stringWriter = new StringWriter(); JsonWriter jsonWriter = new JsonWriter(stringWriter); jsonWriter.setLenient(true); Streams.write(this, jsonWriter); return stringWriter.toString(); } catch (IOException e) { throw new AssertionError(e); } } }
/** * Writes the JSON for {@code jsonElement} to {@code writer}. * @throws JsonIOException if there was a problem writing to the writer */ public void toJson(JsonElement jsonElement, JsonWriter writer) throws JsonIOException { boolean oldLenient = writer.isLenient(); writer.setLenient(true); boolean oldHtmlSafe = writer.isHtmlSafe(); writer.setHtmlSafe(htmlSafe); boolean oldSerializeNulls = writer.getSerializeNulls(); writer.setSerializeNulls(serializeNulls); try { Streams.write(jsonElement, writer); } catch (IOException e) { throw new JsonIOException(e); } catch (AssertionError e) { throw new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage(), e); } finally { writer.setLenient(oldLenient); writer.setHtmlSafe(oldHtmlSafe); writer.setSerializeNulls(oldSerializeNulls); } }
/** * Writes the JSON representation of {@code src} of type {@code typeOfSrc} to * {@code writer}. * @throws JsonIOException if there was a problem writing to the writer */ @SuppressWarnings("unchecked") public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOException { TypeAdapter<?> adapter = getAdapter(TypeToken.get(typeOfSrc)); boolean oldLenient = writer.isLenient(); writer.setLenient(true); boolean oldHtmlSafe = writer.isHtmlSafe(); writer.setHtmlSafe(htmlSafe); boolean oldSerializeNulls = writer.getSerializeNulls(); writer.setSerializeNulls(serializeNulls); try { ((TypeAdapter<Object>) adapter).write(writer, src); } catch (IOException e) { throw new JsonIOException(e); } catch (AssertionError e) { throw new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage(), e); } finally { writer.setLenient(oldLenient); writer.setHtmlSafe(oldHtmlSafe); writer.setSerializeNulls(oldSerializeNulls); } }
public JsonEntityWriter(final Writer out, final ConvertersPool<?, JsonWriter> converters) { this.out = new JsonWriter(out); this.out.setLenient(true); this.converters = converters; }
/** * Returns a String representation of this element. */ @Override public String toString() { try { StringWriter stringWriter = new StringWriter(); JsonWriter jsonWriter = new JsonWriter(stringWriter); jsonWriter.setLenient(true); Streams.write(this, jsonWriter); return stringWriter.toString(); } catch (IOException e) { throw new AssertionError(e); } } }
public T fromJsonElement(JsonElement json) { try { StringWriter stringWriter = new StringWriter(); JsonWriter jsonWriter = new JsonWriter(stringWriter); jsonWriter.setLenient(true); Streams.write(json, false, jsonWriter); JsonReader jsonReader = new JsonReader(new StringReader(stringWriter.toString())); jsonReader.setLenient(true); return read(jsonReader); } catch (IOException e) { throw new RuntimeException(e); } }
public JsonElement toJsonElement(T src) { try { StringWriter stringWriter = new StringWriter(); JsonWriter jsonWriter = new JsonWriter(stringWriter); jsonWriter.setLenient(true); write(jsonWriter, src); JsonReader reader = new JsonReader(new StringReader(stringWriter.toString())); reader.setLenient(true); return Streams.parse(reader); } catch (IOException e) { throw new RuntimeException(e); } }
private JsonWriter(Writer writer) { this.stream = new com.google.gson.stream.JsonWriter(writer); this.stream.setSerializeNulls(false); this.stream.setLenient(false); }
public String getSnapshotAsJson() { try { StringWriter stringWriter = new StringWriter(); JsonWriter jsonWriter = new JsonWriter(stringWriter); jsonWriter.setLenient(true); jsonWriter.setSerializeNulls(true); jsonWriter.setIndent(" "); Streams.write(this.snapshotWrapper, jsonWriter); return stringWriter.toString(); } catch (IOException e) { throw new AssertionError(e); } }
@Override public RequestBody convert(T value) throws IOException { Buffer buffer = new Buffer(); Writer writer = new OutputStreamWriter(buffer.outputStream(), UTF_8); JsonWriter jsonWriter = gson.newJsonWriter(writer); jsonWriter.setLenient(true); adapter.write(jsonWriter, value); jsonWriter.close(); return RequestBody.create(MEDIA_TYPE, buffer.readByteString()); } }
void setWriterOptions(JsonWriter writer) { writer.setSerializeNulls(serializeNulls); writer.setLenient(lenient); writer.setHtmlSafe(htmlSafe); writer.setIndent(prettyPrinting ? " " : ""); } }
private JsonWriter newJsonWriter(StringWriter stringWriter) { JsonWriter writer = new JsonWriter(stringWriter); writer.setIndent(config.indent); writer.setLenient(config.lenient); writer.setSerializeNulls(config.serializeNulls); return writer; }
@Override public void saveInternal(ConfigurationNode node, Writer writer) throws IOException { if (!lenient && !node.hasMapChildren()) { throw new IOException("Non-lenient json generators must have children of map type"); } try (JsonWriter generator = new JsonWriter(writer)) { generator.setIndent(indent); generator.setLenient(lenient); generateValue(generator, node); generator.flush(); writer.write(SYSTEM_LINE_SEPARATOR); // Jackson doesn't add a newline at the end of files by default } }
@Override public void saveInternal(ConfigurationNode node, Writer writer) throws IOException { if (!lenient && !node.hasMapChildren()) { throw new IOException("Non-lenient json generators must have children of map type"); } try (JsonWriter generator = new JsonWriter(writer)) { generator.setIndent(indent); generator.setLenient(lenient); generateValue(generator, node); generator.flush(); writer.write(SYSTEM_LINE_SEPARATOR); // Jackson doesn't add a newline at the end of files by default } }
@Override public JsonStreamTarget createJsonStreamTarget(Writer writer, boolean pretty) { JsonWriter jsonWriter = new JsonWriter(new FilterWriter(writer) { @Override public void close() throws IOException { flush(); // avoid closing underlying stream } }); jsonWriter.setLenient(false); jsonWriter.setIndent(pretty ? "\t" : ""); return new GsonStreamTarget(jsonWriter); } }
@Override public void saveInternal(ConfigurationNode node, Writer writer) throws IOException { if (!lenient && !node.hasMapChildren()) { throw new IOException("Non-lenient json generators must have children of map type"); } try (JsonWriter generator = new JsonWriter(writer)) { generator.setIndent(indent); generator.setLenient(lenient); generateValue(generator, node); generator.flush(); writer.write(SYSTEM_LINE_SEPARATOR); // Jackson doesn't add a newline at the end of files by default } }
@Override public JsonStreamTarget createJsonStreamTarget(Writer writer, boolean pretty) { JsonWriter jsonWriter = new JsonWriter(new FilterWriter(writer) { @Override public void close() throws IOException { flush(); // avoid closing underlying stream } }); jsonWriter.setLenient(false); jsonWriter.setIndent(pretty ? "\t" : ""); return new GsonStreamTarget(jsonWriter); } }
@Override public void saveInternal(ConfigurationNode node, Writer writer) throws IOException { if (!lenient && !node.hasMapChildren()) { throw new IOException("Non-lenient json generators must have children of map type"); } try (JsonWriter generator = new JsonWriter(writer)) { generator.setIndent(indent); generator.setLenient(lenient); generateValue(generator, node); generator.flush(); writer.write(SYSTEM_LINE_SEPARATOR); // Jackson doesn't add a newline at the end of files by default } }