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:api.controller.ApiDocsController.java

@RequestMapping(method = RequestMethod.GET, headers = "Accept=application/json")
public @ResponseBody String genDocs() throws IOException {
    StringWriter sw = new StringWriter();
    JsonGenerator g = new JsonFactory().createGenerator(sw);
    g.useDefaultPrettyPrinter();//ww w  .  j a  va  2s .c om

    g.writeStartObject();
    g.writeStringField("swagger", "2.0");
    g.writeObjectFieldStart("info");
    g.writeStringField("title", "Java, SpringMVC, Jetty, Heroku API example");
    g.writeStringField("description", "Example of simple microservice for API");
    g.writeObjectFieldStart("contact");
    g.writeStringField("name", "zedar");
    g.writeStringField("url", "https://github.com/zedar");
    g.writeEndObject();
    g.writeObjectFieldStart("license");
    g.writeStringField("name", "Creative Commons 4.0 International");
    g.writeStringField("url", "http://creativecommons.org/licenses/by/4.0/");
    g.writeEndObject();
    g.writeStringField("version", "0.0.1");
    g.writeEndObject();
    g.writeStringField("host", "api-springmvc-jetty.herokuapp.com");
    g.writeStringField("basePath", "/api");
    g.writeArrayFieldStart("schemes");
    g.writeString("https");
    g.writeEndArray();
    g.writeObjectFieldStart("paths");
    g.writeObjectFieldStart("/actions");
    g.writeObjectFieldStart("get");
    g.writeArrayFieldStart("tags");
    g.writeString("action");
    g.writeEndArray();
    g.writeStringField("summary", "Find actions with optional query");
    g.writeArrayFieldStart("parameters");
    g.writeStartObject();
    g.writeStringField("name", "query");
    g.writeStringField("in", "query");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndArray();
    g.writeObjectFieldStart("responses");
    g.writeObjectFieldStart("200");
    g.writeStringField("description", "Response with list of found actions");
    g.writeObjectFieldStart("schema");
    g.writeStringField("type", "array");
    g.writeObjectFieldStart("items");
    g.writeStringField("$ref", "#/definitions/Action");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("default");
    g.writeStringField("description", "Unexpected error");
    g.writeObjectFieldStart("schema");
    g.writeStringField("$ref", "#/definitions/Error");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("definitions");
    g.writeObjectFieldStart("Action");
    g.writeArrayFieldStart("required");
    g.writeString("id");
    g.writeString("name");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("id");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("name");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("description");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("url");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("tags");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("Error");
    g.writeArrayFieldStart("required");
    g.writeString("code");
    g.writeString("message");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("code");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("message");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();

    g.close();
    String out = sw.toString();
    log.debug("API-DOCS:" + out);

    return out;
}

From source file:org.eclipse.winery.repository.resources.servicetemplates.boundarydefinitions.interfaces.ExportedOperationResource.java

@GET
@Produces(MediaType.APPLICATION_JSON)//from   w  ww.  ja va 2  s. c  o m
public Response getJSON() {
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter sw = new StringWriter();
    try {
        JsonGenerator jg = jsonFactory.createGenerator(sw);
        jg.writeStartObject();
        String type = this.getType();
        jg.writeStringField("type", type);
        jg.writeStringField("ref", this.getReference());
        if ((type != null) && (!type.equals("Plan"))) {
            jg.writeStringField("interfacename", this.getInterfaceName());
            jg.writeStringField("operationname", this.getOperationName());
        }
        jg.writeEndObject();
        jg.close();
    } catch (Exception e) {
        ExportedOperationResource.LOGGER.error(e.getMessage(), e);
        throw new WebApplicationException(Response.status(Status.INTERNAL_SERVER_ERROR).entity(e).build());
    }
    return Response.ok(sw.toString()).build();
}

From source file:org.mycontroller.standalone.api.jaxrs.mixins.serializers.SensorVariableInfoSerializer.java

@Override
public void serialize(SensorVariable sensorVariable, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {

    if (sensorVariable != null) {
        ResourceModel resourceModel = new ResourceModel(RESOURCE_TYPE.SENSOR_VARIABLE, sensorVariable.getId());
        jgen.writeStartObject();
        provider.defaultSerializeField("id", sensorVariable.getId(), jgen);
        provider.defaultSerializeField("name", resourceModel.getResourceLessDetails(), jgen);
        provider.defaultSerializeField("type", sensorVariable.getVariableType().getText(), jgen);
        jgen.writeEndObject();/*from   w ww .  ja  va 2 s.  c o m*/
    } else {
        jgen.writeNull();
    }

}

From source file:com.viridiansoftware.metrics.elasticsearch.ElasticsearchReporter.java

private void reportMetered(String index, long timestamp, String name, Metered meter) throws IOException {
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer);
    jsonGenerator.writeStartObject();
    jsonGenerator.writeNumberField(timestampFieldName, timestamp);
    jsonGenerator.writeStringField("@name", prefixMetricName(name));

    jsonGenerator.writeNumberField("count", meter.getCount());
    jsonGenerator.writeNumberField("m1_rate", convertRate(meter.getOneMinuteRate()));
    jsonGenerator.writeNumberField("m5_rate", convertRate(meter.getFiveMinuteRate()));
    jsonGenerator.writeNumberField("m15_rate", convertRate(meter.getFifteenMinuteRate()));
    jsonGenerator.writeNumberField("mean_rate", convertRate(meter.getMeanRate()));

    jsonGenerator.writeEndObject();//  w w w .j  a  v  a 2 s  . co m
    jsonGenerator.flush();
    addReportToBulkRequest(index, MetricElasticsearchTypes.METER, writer.toString());
}

From source file:com.netflix.discovery.converters.jackson.serializer.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();//from  w w w .  j  ava  2 s.com

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

    // Save @class field for backward compatibility. Remove once all clients are migrated to the new codec
    if (!compactMode) {
        jgen0.writeFieldName("metadata");
        if (instanceInfo.getMetadata() == null || instanceInfo.getMetadata().isEmpty()) {
            stringMapObjectMapper.writeValue(jgen0, EMPTY_MAP);
        } else {
            stringMapObjectMapper.writeValue(jgen0, instanceInfo.getMetadata());
        }
    }
}

From source file:com.msopentech.odatajclient.engine.data.impl.JSONEntrySerializer.java

@Override
protected void doSerialize(final AbstractJSONEntry entry, final JsonGenerator jgen,
        final SerializerProvider provider) throws IOException, JsonProcessingException {

    jgen.writeStartObject();

    if (entry.getMetadata() != null) {
        jgen.writeStringField(ODataConstants.JSON_METADATA, entry.getMetadata().toASCIIString());
    }//from w  ww.j a  va2s .co  m
    if (StringUtils.isNotBlank(entry.getType())) {
        jgen.writeStringField(ODataConstants.JSON_TYPE, entry.getType());
    }
    if (entry.getId() != null) {
        jgen.writeStringField(ODataConstants.JSON_ID, entry.getId());
    }

    if (entry.getSelfLink() != null) {
        jgen.writeStringField(ODataConstants.JSON_READ_LINK, entry.getSelfLink().getHref());
    }

    if (entry.getEditLink() != null) {
        jgen.writeStringField(ODataConstants.JSON_EDIT_LINK, entry.getEditLink().getHref());
    }

    if (entry.getMediaContentSource() != null) {
        jgen.writeStringField(ODataConstants.JSON_MEDIAREAD_LINK, entry.getMediaContentSource());
    }
    if (entry.getMediaContentType() != null) {
        jgen.writeStringField(ODataConstants.JSON_MEDIA_CONTENT_TYPE, entry.getMediaContentType());
    }

    final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>();

    for (JSONLink link : entry.getNavigationLinks()) {
        if (link.getInlineEntry() != null) {
            jgen.writeObjectField(link.getTitle(), link.getInlineEntry());
        } else if (link.getInlineFeed() != null) {
            jgen.writeObjectField(link.getTitle(), link.getInlineFeed());
        } else {
            ODataLinkType type = null;
            try {
                type = ODataLinkType.fromString(client, link.getRel(), link.getType());
            } catch (IllegalArgumentException e) {
                // ignore   
            }

            if (type == ODataLinkType.ENTITY_SET_NAVIGATION) {
                final List<String> uris;
                if (entitySetLinks.containsKey(link.getTitle())) {
                    uris = entitySetLinks.get(link.getTitle());
                } else {
                    uris = new ArrayList<String>();
                    entitySetLinks.put(link.getTitle(), uris);
                }
                uris.add(link.getHref());
            } else {
                jgen.writeStringField(link.getTitle() + ODataConstants.JSON_BIND_LINK_SUFFIX, link.getHref());
            }
        }
    }
    for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) {
        jgen.writeArrayFieldStart(entitySetLink.getKey() + ODataConstants.JSON_BIND_LINK_SUFFIX);
        for (String uri : entitySetLink.getValue()) {
            jgen.writeString(uri);
        }
        jgen.writeEndArray();
    }

    for (JSONLink link : entry.getMediaEditLinks()) {
        if (link.getTitle() == null) {
            jgen.writeStringField(ODataConstants.JSON_MEDIAEDIT_LINK, link.getHref());
        }

        if (link.getInlineEntry() != null) {
            jgen.writeObjectField(link.getTitle(), link.getInlineEntry());
        }
        if (link.getInlineFeed() != null) {
            jgen.writeObjectField(link.getTitle(), link.getInlineFeed());
        }
    }

    if (entry.getMediaEntryProperties() == null) {
        JSONDOMTreeUtils.writeSubtree(client, jgen, entry.getContent());
    } else {
        JSONDOMTreeUtils.writeSubtree(client, jgen, entry.getMediaEntryProperties());
    }

    jgen.writeEndObject();
}

From source file:com.viridiansoftware.metrics.elasticsearch.ElasticsearchReporter.java

private void reportHistogram(String index, long timestamp, String name, Histogram histogram)
        throws IOException {
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer);
    jsonGenerator.writeStartObject();
    jsonGenerator.writeNumberField(timestampFieldName, timestamp);
    jsonGenerator.writeStringField("@name", prefixMetricName(name));

    final Snapshot snapshot = histogram.getSnapshot();

    jsonGenerator.writeNumberField("count", histogram.getCount());
    jsonGenerator.writeNumberField("max", convertDuration(snapshot.getMax()));
    jsonGenerator.writeNumberField("mean", convertDuration(snapshot.getMean()));
    jsonGenerator.writeNumberField("min", convertDuration(snapshot.getMin()));
    jsonGenerator.writeNumberField("stddev", convertDuration(snapshot.getStdDev()));
    jsonGenerator.writeNumberField("p50", convertDuration(snapshot.getMedian()));
    jsonGenerator.writeNumberField("p75", convertDuration(snapshot.get75thPercentile()));
    jsonGenerator.writeNumberField("p95", convertDuration(snapshot.get95thPercentile()));
    jsonGenerator.writeNumberField("p98", convertDuration(snapshot.get98thPercentile()));
    jsonGenerator.writeNumberField("p99", convertDuration(snapshot.get99thPercentile()));
    jsonGenerator.writeNumberField("p999", convertDuration(snapshot.get999thPercentile()));

    jsonGenerator.writeEndObject();//from w  w  w  .  j  a v  a 2 s.  co  m
    jsonGenerator.flush();
    addReportToBulkRequest(index, MetricElasticsearchTypes.HISTOGRAM, writer.toString());
}

From source file:com.googlecode.wickedcharts.highcharts.jackson.CrosshairSerializer.java

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

    if (value.getColor() != null || value.getDashStyle() != null || value.getWidth() != null
            || value.getzIndex() != null) {
        jgen.writeStartObject();
        if (value.getColor() != null) {
            jgen.writeObjectField("color", value.getColor());
        }/*from  w ww.  j a va  2s. com*/
        if (value.getDashStyle() != null) {
            jgen.writeObjectField("dashStyle", value.getDashStyle());
        }
        if (value.getWidth() != null) {
            jgen.writeObjectField("width", value.getWidth());
        }
        if (value.getzIndex() != null) {
            jgen.writeObjectField("zIndex", value.getzIndex());
        }
        jgen.writeEndObject();
    } else {
        // if no attributes are given, simply render true
        jgen.writeBoolean(true);
    }

}

From source file:com.viridiansoftware.metrics.elasticsearch.ElasticsearchReporter.java

private void reportTimer(String index, long timestamp, String name, Timer timer) throws IOException {
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer);
    jsonGenerator.writeStartObject();
    jsonGenerator.writeNumberField(timestampFieldName, timestamp);
    jsonGenerator.writeStringField("@name", prefixMetricName(name));

    final Snapshot snapshot = timer.getSnapshot();

    jsonGenerator.writeNumberField("max", convertDuration(snapshot.getMax()));
    jsonGenerator.writeNumberField("mean", convertDuration(snapshot.getMean()));
    jsonGenerator.writeNumberField("min", convertDuration(snapshot.getMin()));
    jsonGenerator.writeNumberField("stddev", convertDuration(snapshot.getStdDev()));
    jsonGenerator.writeNumberField("p50", convertDuration(snapshot.getMedian()));
    jsonGenerator.writeNumberField("p75", convertDuration(snapshot.get75thPercentile()));
    jsonGenerator.writeNumberField("p95", convertDuration(snapshot.get95thPercentile()));
    jsonGenerator.writeNumberField("p98", convertDuration(snapshot.get98thPercentile()));
    jsonGenerator.writeNumberField("p99", convertDuration(snapshot.get99thPercentile()));
    jsonGenerator.writeNumberField("p999", convertDuration(snapshot.get999thPercentile()));

    jsonGenerator.writeNumberField("count", timer.getCount());
    jsonGenerator.writeNumberField("m1_rate", convertRate(timer.getOneMinuteRate()));
    jsonGenerator.writeNumberField("m5_rate", convertRate(timer.getFiveMinuteRate()));
    jsonGenerator.writeNumberField("m15_rate", convertRate(timer.getFifteenMinuteRate()));
    jsonGenerator.writeNumberField("mean_rate", convertRate(timer.getMeanRate()));

    jsonGenerator.writeEndObject();/*from   w  ww.ja va  2s.  c o  m*/
    jsonGenerator.flush();
    addReportToBulkRequest(index, MetricElasticsearchTypes.TIMER, writer.toString());
}

From source file:org.emfjson.jackson.databind.ser.EcoreReferenceSerializer.java

@Override
public void serialize(EObject value, JsonGenerator jg, SerializerProvider serializers) throws IOException {
    final EObject parent = EMFContext.getParent(serializers);
    final Cache cache = EMFContext.getCache(serializers);
    final String href = getHRef(cache, parent, value);

    jg.writeStartObject();
    jg.writeStringField(info.getTypeProperty(), cache.getURI(value.eClass()));
    if (href == null) {
        jg.writeNullField(info.getProperty());
    } else {/*  ww w. j  a  v  a 2 s. c om*/
        jg.writeStringField(info.getProperty(), href);
    }
    jg.writeEndObject();
}