Example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject.

Prototype

public abstract void writeStartObject() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing starting marker of a JSON Object value (character '{'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:com.googlecode.jmxtrans.model.output.LibratoWriter2.java

@Override
public void write(@Nonnull Writer writer, @Nonnull Server server, @Nonnull Query query,
        @Nonnull Iterable<Result> results) throws IOException {
    Closer closer = Closer.create();//  ww w  .j av  a  2 s .  c o m
    try {
        JsonGenerator g = closer.register(jsonFactory.createGenerator(writer));
        g.writeStartObject();
        g.writeArrayFieldStart("counters");
        g.writeEndArray();

        String source = getSource(server);

        g.writeArrayFieldStart("gauges");
        for (Result result : results) {
            Map<String, Object> resultValues = result.getValues();
            for (Map.Entry<String, Object> values : resultValues.entrySet()) {
                if (isNumeric(values.getValue())) {
                    g.writeStartObject();
                    g.writeStringField("name", KeyUtils.getKeyString(query, result, values, typeNames));
                    if (source != null && !source.isEmpty()) {
                        g.writeStringField("source", source);
                    }
                    g.writeNumberField("measure_time", SECONDS.convert(result.getEpoch(), MILLISECONDS));
                    Object value = values.getValue();
                    if (value instanceof Integer) {
                        g.writeNumberField("value", (Integer) value);
                    } else if (value instanceof Long) {
                        g.writeNumberField("value", (Long) value);
                    } else if (value instanceof Float) {
                        g.writeNumberField("value", (Float) value);
                    } else if (value instanceof Double) {
                        g.writeNumberField("value", (Double) value);
                    }
                    g.writeEndObject();
                }
            }
        }
        g.writeEndArray();
        g.writeEndObject();
        g.flush();
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:com.mattjbishop.halapino.EmbeddedSerializer.java

@Override
public void serialize(Map<String, List<HALRepresentation>> embeddedResources, JsonGenerator jgen,
        SerializerProvider provider) throws IOException, JsonProcessingException {

    if (embeddedResources != null) {
        jgen.writeStartObject();
        writeOutResources(embeddedResources, jgen);
        jgen.writeEndObject();//from ww  w . j a v  a  2  s . co m
    }

}

From source file:org.mashti.jetson.json.JsonResponseEncoder.java

void encodeResultOrException(final Integer id, final Object result, final Throwable exception,
        final ByteBuf out, final boolean error) throws RPCException {

    JsonGenerator generator = null;
    try {/*from w ww.  j a va 2s  .c o  m*/
        generator = createJsonGenerator(out);
        generator.writeStartObject();
        generator.writeObjectField(JsonRequestEncoder.ID_KEY, id);
        generator.writeObjectField(JsonRequestEncoder.VERSION_KEY, JsonRequestEncoder.DEFAULT_VERSION);
        if (error) {
            final JsonRpcError json_rpc_error = JsonRpcExceptions.toJsonRpcError(exception);
            generator.writeObjectField(ERROR_KEY, json_rpc_error);
        } else {
            generator.writeObjectField(RESULT_KEY, result);
        }
        generator.writeEndObject();
        generator.flush();
        generator.close();
    } catch (final JsonProcessingException e) {
        LOGGER.debug("failed to encode response", e);
        throw new InternalServerException(e);
    } catch (final IOException e) {
        LOGGER.debug("IO error occurred while encoding response", e);
        throw new TransportException(e);
    } finally {
        CloseableUtil.closeQuietly(generator);
    }
}

From source file:org.pentaho.metaverse.impl.model.kettle.json.GenericStepOrJobEntryJsonSerializer.java

@Override
public void serialize(T meta, JsonGenerator json, SerializerProvider serializerProvider)
        throws IOException, JsonGenerationException {
    json.writeStartObject();
    writeBasicInfo(meta, json);//from   w w w. j  a  v  a2  s  .  c o m
    writeRepoAttributes(meta, json);
    writeExternalResources(meta, json, serializerProvider);
    writeCustom(meta, json, serializerProvider);
    json.writeEndObject();
}

From source file:com.twosigma.beakerx.chart.serializer.RastersSerializer.java

@Override
public void serialize(Rasters rasters, JsonGenerator jgen, SerializerProvider sp) throws IOException {
    validate(rasters);//from ww w. j a va  2s.  co m

    jgen.writeStartObject();

    jgen.writeObjectField(TYPE, SerializerUtil.getTypeName(rasters));
    jgen.writeObjectField("x", rasters.getX());
    jgen.writeObjectField("y", rasters.getY());
    jgen.writeObjectField("opacity", rasters.getOpacity());
    jgen.writeObjectField("visible", rasters.getVisible());
    jgen.writeObjectField("yAxis", rasters.getYAxis());
    jgen.writeObjectField("position", rasters.getPosition());
    jgen.writeObjectField("width", rasters.getWidth());
    jgen.writeObjectField("height", rasters.getHeight());

    // datastring will override file path/url
    if (rasters.getDataString() != null) {
        jgen.writeObjectField("value", Bytes2Base64(rasters.getDataString(), null));
    } else if (!rasters.getFilePath().isEmpty()) {
        String path = rasters.getFilePath();
        File file = new File(path);

        if (!file.exists()) {
            throw new FileNotFoundException("Cannot find file " + path);
        }

        byte[] picture = Files.readAllBytes(new File(path).toPath());
        String extension = "";
        int i = path.lastIndexOf('.');
        if (i > 0) {
            extension = path.substring(i + 1);
        }

        jgen.writeObjectField("value", Bytes2Base64(picture, extension));
    } else if (!rasters.getFileUrl().isEmpty()) {
        jgen.writeObjectField("value", rasters.getFileUrl());
    }

    jgen.writeEndObject();
}

From source file:com.joliciel.jochre.search.highlight.HighlightTerm.java

public void toJson(JsonGenerator jsonGen, DecimalFormat df) {
    try {//from   ww w  . j  a  v  a2 s  .  com
        jsonGen.writeStartObject();
        jsonGen.writeStringField("field", this.getField());
        jsonGen.writeNumberField("start", this.getStartOffset());
        jsonGen.writeNumberField("end", this.getEndOffset());
        jsonGen.writeNumberField("pageIndex", this.getPageIndex());
        jsonGen.writeNumberField("imageIndex", this.getImageIndex());
        double roundedWeight = df.parse(df.format(this.getWeight())).doubleValue();
        jsonGen.writeNumberField("weight", roundedWeight);
        jsonGen.writeEndObject();

        jsonGen.flush();
    } catch (java.text.ParseException e) {
        LogUtils.logError(LOG, e);
        throw new RuntimeException(e);
    } catch (IOException ioe) {
        LogUtils.logError(LOG, ioe);
        throw new RuntimeException(ioe);
    }
}

From source file:com.sdl.odata.renderer.json.writer.JsonServiceDocumentWriter.java

/**
 * Build an embedded json object that will have key-value attributes like
 * 'name' and 'url' (they are MUST), 'title' and 'kind'.
 *
 * @param jsonGenerator jsonGenerator//  w w  w  .ja  va  2 s.c o  m
 * @param entity        entitySet or singleton
 * @throws IOException
 */
private void writeObject(JsonGenerator jsonGenerator, Object entity) throws IOException {
    jsonGenerator.writeStartObject();

    writeName(jsonGenerator, entity);
    writeKind(jsonGenerator, entity);
    writeURL(jsonGenerator, entity);

    jsonGenerator.writeEndObject();
}

From source file:net.logstash.logback.marker.ObjectAppendingMarkerTest.java

@Test
public void testWriteTo() throws IOException {

    MyClass myObject = new MyClass("value");

    StringWriter writer = new StringWriter();
    JsonGenerator generator = FACTORY.createGenerator(writer);

    LogstashMarker marker = Markers.append("myObject", myObject);
    generator.writeStartObject();
    marker.writeTo(generator);//from  ww w.  j av a2  s. c  o m
    generator.writeEndObject();
    generator.flush();

    assertThat(writer.toString()).isEqualTo("{\"myObject\":{\"myField\":\"value\"}}");
}

From source file:org.calrissian.mango.json.ser.NodeSerializer.java

@Override
public void serialize(Node node, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {

    jsonGenerator.writeStartObject();
    if (node instanceof ParentNode) {
        serialize((ParentNode) node, jsonGenerator, serializerProvider);
    } else if (node instanceof Leaf) {
        serialize((Leaf) node, jsonGenerator, serializerProvider);
    } else {/*from   ww  w .j av a  2 s  . c  om*/
        throw new IllegalArgumentException("Unsupported node: " + node);
    }

    jsonGenerator.writeEndObject();
}

From source file:net.logstash.logback.marker.ObjectFieldsAppendingMarkerTest.java

@Test
public void testWriteTo() throws IOException {

    MyClass myObject = new MyClass("value");

    StringWriter writer = new StringWriter();
    JsonGenerator generator = FACTORY.createGenerator(writer);

    LogstashMarker marker = Markers.appendFields(myObject);
    generator.writeStartObject();
    marker.writeTo(generator);/*w w w.ja  va 2s. c  om*/
    generator.writeEndObject();
    generator.flush();

    assertThat(writer.toString()).isEqualTo("{\"myField\":\"value\"}");
}