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

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

Introduction

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

Prototype

public abstract void writeEndObject() throws IOException, JsonGenerationException;

Source Link

Document

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

Usage

From source file:com.github.shyiko.jackson.module.advice.AdvisedBeanSerializer.java

@Override
public void serialize(Object bean, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    if (_objectIdWriter != null) {
        serializeWithObjectId(bean, jgen, provider, !unwrappingSerializer);
        return;//w  ww  .  java2  s . c om
    }
    if (!unwrappingSerializer) {
        jgen.writeStartObject();
    }
    if (!beanSerializerAdvice.intercept(bean, jgen, provider)) {
        beanSerializerAdvice.before(bean, jgen, provider);
        if (_propertyFilterId != null) {
            serializeFieldsFiltered(bean, jgen, provider);
        } else {
            serializeFields(bean, jgen, provider);
        }
        beanSerializerAdvice.after(bean, jgen, provider);
    }
    if (!unwrappingSerializer) {
        jgen.writeEndObject();
    }
}

From source file:com.ning.metrics.serialization.event.SmileEnvelopeEvent.java

public void writeToJsonGenerator(final JsonGenerator gen) throws IOException {
    // writes '{eventName:<name>,payload:{<data>}}' --it's kind of silly but ultimately inconsequential to nest them like this.
    gen.writeStartObject();//  ww w  .  ja  v  a  2 s.  c o  m
    gen.writeStringField("eventName", eventName);
    gen.writeFieldName("payload");
    /* Note: output format used depends completely on generator we are being passed
     * and NOT on which mapper we use -- mappers are format independent and rely
     * on underlying JsonParser/JsonGenerator for low-level handling.
     */
    getObjectMapper().writeTree(gen, root);
    gen.writeEndObject();
}

From source file:net.logstash.logback.composite.loggingevent.MdcJsonProvider.java

@Override
public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException {
    Map<String, String> mdcProperties = event.getMDCPropertyMap();
    if (mdcProperties != null && !mdcProperties.isEmpty()) {
        if (getFieldName() != null) {
            generator.writeObjectFieldStart(getFieldName());
        }/*w w  w.  j a v  a2 s .  co m*/
        if (!includeMdcKeyNames.isEmpty()) {
            mdcProperties = new HashMap<String, String>(mdcProperties);
            mdcProperties.keySet().retainAll(includeMdcKeyNames);
        }
        if (!excludeMdcKeyNames.isEmpty()) {
            mdcProperties = new HashMap<String, String>(mdcProperties);
            mdcProperties.keySet().removeAll(excludeMdcKeyNames);
        }
        JsonWritingUtils.writeMapEntries(generator, mdcProperties);
        if (getFieldName() != null) {
            generator.writeEndObject();
        }
    }
}

From source file:org.emfjson.jackson.streaming.StreamWriter.java

private void serializeMapEntry(JsonGenerator generator, String key, EReference reference, Object value)
        throws IOException {

    generator.writeFieldName(key);/*from   ww w  . ja  va 2  s  .  co m*/
    generator.writeStartObject();

    if (reference.isMany()) {
        @SuppressWarnings("unchecked")
        Collection<Map.Entry<String, String>> entries = (Collection<Entry<String, String>>) value;

        for (Map.Entry<String, String> entry : entries) {
            generator.writeStringField(entry.getKey(), entry.getValue());
        }
    } else {
        @SuppressWarnings("unchecked")
        Map.Entry<String, String> entry = (Entry<String, String>) value;
        generator.writeStringField(entry.getKey(), entry.getValue());
    }
    generator.writeEndObject();
}

From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.ResourceSerializer.java

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

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();//from  w w w .j a  v a 2s  .c o  m
    serializer.unwrappingSerializer(NameTransformer.NOP).serialize(value, jgen, provider);

    //        // make a Link Serializer
    //        for (Link link : value.getLinks()) {
    //            final String rel = link.getRel();
    //            String linkFieldName = IanaRels.isIanaRel(rel) ? IANA_REL_PREFIX + rel : rel;
    //            jgen.writeFieldName(linkFieldName);
    //            jgen.writeStartObject();
    //            jgen.writeStringField("@id", link.getHref());
    //            jgen.writeEndObject();
    //        }
    jgen.writeEndObject();

}

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

/**
 * The main method for Writer./*from w ww  . j  av  a2s. c  om*/
 * It builds the service root document according to spec.
 *
 * @return output in json
 * @throws ODataRenderException If unable to render the json service document
 */
public String buildJson() throws ODataRenderException {
    LOG.debug("Start building Json service root document");
    try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {
        JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(stream, JsonEncoding.UTF8);
        jsonGenerator.writeStartObject();
        jsonGenerator.writeStringField(CONTEXT, getContextURL(uri, entityDataModel));
        jsonGenerator.writeArrayFieldStart(VALUE);

        List<EntitySet> entities = entityDataModel.getEntityContainer().getEntitySets();
        for (EntitySet entity : entities) {
            if (entity.isIncludedInServiceDocument()) {
                writeObject(jsonGenerator, entity);
            }
        }

        List<Singleton> singletons = entityDataModel.getEntityContainer().getSingletons();
        for (Singleton singleton : singletons) {
            writeObject(jsonGenerator, singleton);
        }

        jsonGenerator.writeEndArray();
        jsonGenerator.writeEndObject();
        jsonGenerator.close();
        return stream.toString(StandardCharsets.UTF_8.name());
    } catch (IOException e) {
        throw new ODataRenderException("It is unable to render service document", e);
    }
}

From source file:org.hawkular.rest.json.RelationshipJacksonSerializer.java

/**
 * <pre>compact://from   www .  java  2  s .c  om
 * {
 *   "id": "1337",
 *   "source": "/tenants/28026b36-8fe4-4332-84c8-524e173a68bf",
 *   "name": "contains",
 *   "target": "28026b36-8fe4-4332-84c8-524e173a68bf/environments/test"
 * }</pre>
 * <p/>
 * <pre>embedded:
 * {
 *   "@context": "http://hawkular.org/inventory/0.1.0/relationship.jsonld",
 *   "id": "1337",
 *   "name": "contains",
 *   "source": {
 *      id: "/tenants/28026b36-8fe4-4332-84c8-524e173a68bf",
 *      shortId: "28026b36-8fe4-4332-84c8-524e173a68bf",
 *      type: "Tenant"
 *   },
 *   "target": {
 *      id: "28026b36-8fe4-4332-84c8-524e173a68bf/environments/test",
 *      shortId: "test",
 *      type: "Environment"
 *   }
 * }</pre>
 */
@Override
public void serialize(Relationship relationship, JsonGenerator jg, SerializerProvider serializerProvider)
        throws IOException {
    jg.writeStartObject();

    jg.writeFieldName(FIELD_ID);
    jg.writeString(relationship.getId());

    jg.writeFieldName(FIELD_NAME);
    jg.writeString(relationship.getName());

    jg.writeFieldName(FIELD_SOURCE);
    jg.writeString(relationship.getSource().toString());

    jg.writeFieldName(FIELD_TARGET);
    jg.writeString(relationship.getTarget().toString());

    if (relationship.getProperties() != null && !relationship.getProperties().isEmpty()) {
        jg.writeFieldName(FIELD_PROPERTIES);
        jg.writeStartObject();
        for (Map.Entry<String, Object> property : relationship.getProperties().entrySet()) {
            jg.writeFieldName(property.getKey());
            jg.writeObject(property.getValue());
        }
        jg.writeEndObject();
    }

    jg.writeEndObject();
}

From source file:io.gravitee.definition.jackson.datatype.api.ser.ProxySerializer.java

@Override
public void serialize(Proxy proxy, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();//from   w ww .  j a v  a 2s .  c o  m
    jgen.writeStringField("context_path", proxy.getContextPath());
    jgen.writeBooleanField("strip_context_path", proxy.isStripContextPath());
    jgen.writeBooleanField("dumpRequest", proxy.isDumpRequest());

    final List<Endpoint> endpoints = proxy.getEndpoints();

    jgen.writeArrayFieldStart("endpoints");
    endpoints.forEach(endpoint -> {
        try {
            jgen.writeObject(endpoint);
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
    jgen.writeEndArray();

    if (proxy.getLoadBalancer() != null) {
        jgen.writeObjectField("load_balancing", proxy.getLoadBalancer());
    }

    if (proxy.getFailover() != null) {
        jgen.writeObjectField("failover", proxy.getFailover());
    }

    jgen.writeEndObject();
}

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

public void toJson(JsonGenerator jsonGen, DecimalFormat df) {
    try {/*w  w  w .java  2 s  .com*/
        jsonGen.writeStartObject();
        jsonGen.writeNumberField("docId", docId);
        jsonGen.writeStringField("field", this.getField());
        jsonGen.writeNumberField("start", this.getStartOffset());
        jsonGen.writeNumberField("end", this.getEndOffset());
        double roundedScore = df.parse(df.format(this.getScore())).doubleValue();
        jsonGen.writeNumberField("score", roundedScore);
        jsonGen.writeArrayFieldStart("terms");
        for (HighlightTerm term : this.getHighlightTerms()) {
            term.toJson(jsonGen, df);
        }
        jsonGen.writeEndArray(); // terms

        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.util.JsonWriterUtilTest.java

@Test
public void testWritePrimitiveValues() throws Exception {

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    JsonGenerator jsonGenerator = new JsonFactory().createGenerator(stream, JsonEncoding.UTF8);

    jsonGenerator.writeStartObject();/*  w w w .j  a va 2 s. c  o  m*/
    appendPrimitiveValue("MyString", "Some text", jsonGenerator);
    appendPrimitiveValue("MyByteProperty", Byte.MAX_VALUE, jsonGenerator);
    appendPrimitiveValue("MyShortProperty", (short) 1, jsonGenerator);
    appendPrimitiveValue("MyIntegerProperty", 2, jsonGenerator);
    appendPrimitiveValue("MyFloatProperty", 3.0f, jsonGenerator);
    appendPrimitiveValue("MyDoubleProperty", 4.0d, jsonGenerator);
    appendPrimitiveValue("MyLongProperty", (long) 5, jsonGenerator);
    appendPrimitiveValue("MyBooleanProperty", true, jsonGenerator);
    appendPrimitiveValue("MyUUIDProperty", UUID.fromString("23492a5b-c4f1-4a50-b7a5-d8ebd6067902"),
            jsonGenerator);
    appendPrimitiveValue("DecimalValueProperty", BigDecimal.valueOf(21), jsonGenerator);

    jsonGenerator.writeEndObject();
    jsonGenerator.close();

    assertEquals(prettyPrintJson(readContent(EXPECTED_PRIMITIVE_VALUES_PATH)),
            prettyPrintJson(stream.toString()));
}