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.SensuWriter.java

private void serialize(Server server, Query query, List<Result> results, OutputStream outputStream)
        throws IOException {
    JsonGenerator g = jsonFactory.createGenerator(outputStream, JsonEncoding.UTF8);
    g.useDefaultPrettyPrinter();// w  w w .j  a  v a2 s .  co  m
    g.writeStartObject();
    g.writeStringField("name", "jmxtrans");
    g.writeStringField("type", "metric");
    g.writeStringField("handler", handler);

    StringBuilder jsonoutput = new StringBuilder();
    List<String> typeNames = getTypeNames();
    for (Result result : results) {
        for (Map.Entry<String, Object> values : result.getValues().entrySet()) {
            if (isNumeric(values.getValue())) {
                Object value = values.getValue();
                jsonoutput.append(KeyUtils.getKeyString(server, query, result, values, typeNames, null))
                        .append(" ").append(value).append(" ")
                        .append(TimeUnit.SECONDS.convert(result.getEpoch(), TimeUnit.MILLISECONDS))
                        .append(System.getProperty("line.separator"));
            }
        }
    }
    g.writeStringField("output", jsonoutput.toString());
    g.writeEndObject();
    g.flush();
    g.close();
}

From source file:org.solmix.datax.wmix.serializer.DSResponseSerializer.java

@Override
public void serialize(ResultObject response, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    if (response.isDSResponse()) {
        jgen.writeStartObject();
        jgen.writeFieldName(RESPONSE);/*from  w w  w  . j a  v a  2s .  com*/
        serialize((DSResponse) response.getReal(), jgen, provider);
        jgen.writeEndObject();
    } else if (response.isDSResponseList()) {
        List<DSResponse> res = (List<DSResponse>) response.getReal();
        jgen.writeStartObject();
        jgen.writeArrayFieldStart(RESPONSES);
        for (DSResponse re : res) {
            serialize(re, jgen, provider);
        }
        jgen.writeEndArray();
        jgen.writeEndObject();

    } else {
        jgen.writeObject(response.getReal());
    }

}

From source file:com.predic8.membrane.core.transport.http.AbstractHttpHandler.java

private Response generateErrorResponse(Exception e) {
    String msg;// ww  w. j  a  v a 2 s.c o m
    boolean printStackTrace = transport.isPrintStackTrace();
    if (printStackTrace) {
        StringWriter sw = new StringWriter();
        e.printStackTrace(new PrintWriter(sw));
        msg = sw.toString();
    } else {
        msg = e.toString();
    }
    String comment = "Stack traces can be " + (printStackTrace ? "dis" : "en") + "abled by setting the "
            + "@printStackTrace attribute on <a href=\"http://membrane-soa.org/esb-doc/current/configuration/reference/transport.htm\">transport</a>. "
            + "More details might be found in the log.";

    Response error = null;
    ResponseBuilder b = null;
    if (e instanceof URISyntaxException)
        b = Response.badRequest();
    if (b == null)
        b = Response.internalServerError();
    switch (ContentTypeDetector.detect(exchange.getRequest()).getEffectiveContentType()) {
    case XML:
        error = b.header(HttpUtil.createHeaders(MimeType.TEXT_XML_UTF8))
                .body(("<error><message>" + StringEscapeUtils.escapeXml(msg) + "</message><comment>"
                        + StringEscapeUtils.escapeXml(comment) + "</comment></error>")
                                .getBytes(Constants.UTF_8_CHARSET))
                .build();
        break;
    case JSON:
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            JsonGenerator jg = new JsonFactory().createGenerator(baos);
            jg.writeStartObject();
            jg.writeFieldName("error");
            jg.writeString(msg);
            jg.writeFieldName("comment");
            jg.writeString(comment);
            jg.close();
        } catch (Exception f) {
            log.error("Error generating JSON error response", f);
        }

        error = b.header(HttpUtil.createHeaders(MimeType.APPLICATION_JSON_UTF8)).body(baos.toByteArray())
                .build();
        break;
    case SOAP:
        error = b.header(HttpUtil.createHeaders(MimeType.TEXT_XML_UTF8))
                .body(HttpUtil.getFaultSOAPBody("Internal Server Error", msg + " " + comment)
                        .getBytes(Constants.UTF_8_CHARSET))
                .build();
        break;
    case UNKNOWN:
        error = HttpUtil.setHTMLErrorResponse(b, msg, comment);
        break;
    }
    return error;
}

From source file:com.strategicgains.hyperexpress.serialization.jackson.HalResourceSerializer.java

@Override
public void serialize(HalResource resource, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    jgen.writeStartObject();
    renderJson(resource, jgen, false);/*www. j ava2  s.  c  om*/
    jgen.writeEndObject();
}

From source file:org.springframework.data.elasticsearch.core.DefaultResultMapper.java

private String buildJSONFromFields(Collection<SearchHitField> values) {
    JsonFactory nodeFactory = new JsonFactory();
    try {//from  ww w  .  ja  v a 2  s  . c  om
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        JsonGenerator generator = nodeFactory.createGenerator(stream, JsonEncoding.UTF8);
        generator.writeStartObject();
        for (SearchHitField value : values) {
            if (value.getValues().size() > 1) {
                generator.writeArrayFieldStart(value.getName());
                for (Object val : value.getValues()) {
                    generator.writeObject(val);
                }
                generator.writeEndArray();
            } else {
                generator.writeObjectField(value.getName(), value.getValue());
            }
        }
        generator.writeEndObject();
        generator.flush();
        return new String(stream.toByteArray(), Charset.forName("UTF-8"));
    } catch (IOException e) {
        return null;
    }
}

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

private void writeAllProperties(final Object data, StructuredType type, final JsonGenerator generator)
        throws IOException, ODataRenderException {
    generator.writeStartObject();
    visitProperties(getEntityDataModel(), type, property -> {
        try {//from   w w  w.ja va 2 s  .c  o m
            if (!(property instanceof NavigationProperty)) {
                handleProperty(data, property, generator);
            }
        } catch (IllegalAccessException | IOException | ODataException e) {
            throw new ODataRenderException("Error while writing property: " + property.getName(), e);
        }
    });
    generator.writeEndObject();
}

From source file:com.spotify.apollo.meta.TypesafeConfigSerializer.java

@Override
public void serialize(ConfigValue value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    if (value.valueType() == ConfigValueType.OBJECT) {
        final ConfigObject object = (ConfigObject) value;

        jgen.writeStartObject();
        for (Map.Entry<String, ConfigValue> valueEntry : object.entrySet()) {
            if (withOrigins) {
                final ConfigOrigin origin = valueEntry.getValue().origin();
                jgen.writeStringField(valueEntry.getKey() + "__origin",
                        origin.description() + (origin.filename() != null ? ", " + origin.filename() : ""));
            }/*ww  w . j  av  a2  s  . c  om*/
            jgen.writeObjectField(valueEntry.getKey(), valueEntry.getValue());
        }
        jgen.writeEndObject();
    } else if (value.valueType() == ConfigValueType.LIST) {
        final ConfigList list = (ConfigList) value;

        jgen.writeStartArray();
        for (ConfigValue configValue : list) {
            jgen.writeObject(configValue);
        }
        jgen.writeEndArray();
    } else {
        jgen.writeObject(value.unwrapped());
    }
}

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

@Override
public void serialize(T meta, JsonGenerator json, SerializerProvider serializerProvider)
        throws IOException, JsonGenerationException {

    json.writeStartObject();
    json.writeStringField(IInfo.JSON_PROPERTY_CLASS, meta.getClass().getName());
    json.writeStringField(IInfo.JSON_PROPERTY_NAME, meta.getName());
    json.writeStringField(IInfo.JSON_PROPERTY_DESCRIPTION, meta.getDescription());
    json.writeObjectField(JSON_PROPERTY_CREATED_DATE, meta.getCreatedDate());
    json.writeObjectField(JSON_PROPERTY_LAST_MODIFIED_DATE, meta.getModifiedDate());
    json.writeStringField(JSON_PROPERTY_CREATED_BY, meta.getCreatedUser());
    json.writeStringField(JSON_PROPERTY_LAST_MODIFIED_BY, meta.getModifiedUser());
    json.writeStringField(JSON_PROPERTY_PATH, meta.getFilename());
    if (meta.getRepository() != null) {
        json.writeStringField(JSON_PROPERTY_REPOSITORY, meta.getRepository().getName());
    }//from ww w.j a v  a  2 s . c o m

    serializeParameters(meta, json);
    serializeVariables(meta, json);
    serializeSteps(meta, json);
    serializeConnections(meta, json);
    serializeHops(meta, json);

    json.writeEndObject();
}

From source file:net.solarnetwork.node.upload.bulkjsonwebpost.InstructionSerializer.java

@Override
public void serialize(Instruction instruction, JsonGenerator generator, SerializerProvider provider)
        throws IOException, JsonGenerationException {
    if (instruction.getTopic() == null || instruction.getStatus() == null) {
        return;//from ww w. j av a2 s .  c  o m
    }
    generator.writeStartObject();
    generator.writeStringField("__type__", "InstructionStatus");
    if (instruction.getId() != null) {
        generator.writeStringField("id", instruction.getId().toString());
    }
    generator.writeStringField("instructionId", instruction.getRemoteInstructionId());
    generator.writeStringField("topic", instruction.getTopic());
    generator.writeStringField("status", instruction.getStatus().getInstructionState().toString());
    generator.writeEndObject();
}

From source file:com.netflix.discovery.converters.jackson.InstanceInfoJsonBeanSerializer.java

@Override
protected void serializeFields(Object bean, JsonGenerator jgen0, SerializerProvider provider)
        throws IOException {
    super.serializeFields(bean, jgen0, provider);
    InstanceInfo instanceInfo = (InstanceInfo) bean;

    jgen0.writeFieldName("port");
    jgen0.writeStartObject();
    jgen0.writeNumberField("$", instanceInfo.getPort());
    jgen0.writeStringField("@enabled", Boolean.toString(instanceInfo.isPortEnabled(PortType.UNSECURE)));
    jgen0.writeEndObject();/* ww  w . ja va2s . c om*/

    jgen0.writeFieldName("securePort");
    jgen0.writeStartObject();
    jgen0.writeNumberField("$", instanceInfo.getSecurePort());
    jgen0.writeStringField("@enabled", Boolean.toString(instanceInfo.isPortEnabled(PortType.SECURE)));
    jgen0.writeEndObject();
}