-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
-
-public class JsonWriter {
-
- private final OutputStreamWriter writer;
- private final ObjectMapper objectMapper;
-
- public JsonWriter(final OutputStream writer) {
- this.writer = new OutputStreamWriter(writer, StandardCharsets.UTF_8);
-
- objectMapper = new ObjectMapper();
- objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
- objectMapper.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
- }
-
- public void write(final Object object) throws IOException {
- try {
- objectMapper.writeValue(writer, object);
- } catch (JsonProcessingException e) {
- // Some issue with json serialization, probably caused by a bug
- throw new AssertionError(e);
- }
- writer.write(System.lineSeparator());
- writer.flush();
- }