/** * Returns a function (writer) converting {@link JsonStructure} to the {@link Flow.Publisher Publisher} * of {@link DataChunk}s. * * @param charset a charset to use or {@code null} for default charset * @return created function */ public Function<JsonStructure, Flow.Publisher<DataChunk>> writer(Charset charset) { return json -> { ByteArrayOutputStream baos = new ByteArrayOutputStream(); JsonWriter writer = (charset == null) ? jsonWriterFactory.createWriter(baos) : jsonWriterFactory.createWriter(baos, charset); writer.write(json); writer.close(); return ContentWriters.byteArrayWriter(false) .apply(baos.toByteArray()); }; }
protected JsonWriter findWriter(MediaType mediaType, OutputStream os) { ContextResolver<JsonWriterFactory> resolver = providers.getContextResolver(JsonWriterFactory.class, mediaType); JsonWriterFactory factory = null; if (resolver != null) { factory = resolver.getContext(JsonWriterFactory.class); } if (factory == null) { factory = writerFactory; } Charset charset = getCharset(mediaType); return charset == null ? factory.createWriter(os) : factory.createWriter(os, charset); } }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public JsonWriter createWriter(final Writer writer) { return writerFactory.createWriter(writer); }
@Override public JsonWriter createWriter(final OutputStream out) { return writerFactory.createWriter(out); }
@Override public void writeTo(JsonValue jsonValue, Class<?> aClass, Type type, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> stringObjectMultivaluedMap, OutputStream outputStream) throws IOException, WebApplicationException { try (JsonWriter writer = wf.createWriter(outputStream)) { writer.write(jsonValue); } } }
private String formatJson(JsonArray data) { StringWriter writer = new StringWriter(); JsonWriter gen = writerFactory.createWriter(writer); gen.writeArray(data); return writer.toString(); } }
@Override public void writeTo(JsonValue jsonValue, Class<?> aClass, Type type, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> stringObjectMultivaluedMap, OutputStream outputStream) throws IOException, WebApplicationException { try (JsonWriter writer = wf.createWriter(outputStream)) { writer.write(jsonValue); } } }
@Override public void writeTo(JsonStructure jsonStructure, Class<?> aClass, Type type, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> stringObjectMultivaluedMap, OutputStream outputStream) throws IOException, WebApplicationException { try (JsonWriter writer = wf.createWriter(outputStream)) { writer.write(jsonStructure); } } }
public static String prettyPrint(JsonArray jsonArray) { Map<String, Boolean> config = new HashMap<>(); config.put(JsonGenerator.PRETTY_PRINTING, true); JsonWriterFactory jsonWriterFactory = Json.createWriterFactory(config); StringWriter stringWriter = new StringWriter(); try (JsonWriter jsonWriter = jsonWriterFactory.createWriter(stringWriter)) { jsonWriter.writeArray(jsonArray); } return stringWriter.toString(); }
public String getPrettyPrint(JsonObject jsonObject) throws IOException { Map<String, Boolean> config = new HashMap<String, Boolean>(); config.put(JsonGenerator.PRETTY_PRINTING, true); JsonWriterFactory writerFactory = Json.createWriterFactory(config); String output = null; try (StringWriter sw = new StringWriter(); JsonWriter jsonWriter = writerFactory.createWriter(sw)) { jsonWriter.writeObject(jsonObject); output = sw.toString(); } return output; }