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.cedarsoft.couchdb.io.CouchDocSerializer.java

public <T> void serialize(@Nonnull CouchDoc<T> doc, @Nonnull JacksonSerializer<? super T> wrappedSerializer,
        @Nonnull JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*from   w  w  w.ja  va 2s.com*/
    RawCouchDocSerializer.serializeIdAndRev(generator, doc);

    //Type
    generator.writeStringField(AbstractJacksonSerializer.PROPERTY_TYPE, wrappedSerializer.getType());
    //Version
    generator.writeStringField(AbstractJacksonSerializer.PROPERTY_VERSION,
            wrappedSerializer.getFormatVersion().format());

    //The wrapped object
    wrappedSerializer.serialize(generator, doc.getObject(), wrappedSerializer.getFormatVersion());

    //The attachments - placed at the end
    serializeInlineAttachments(doc, generator);

    generator.writeEndObject();
}

From source file:org.springframework.cloud.netflix.metrics.atlas.AtlasMetricObserver.java

private int writeMetrics(JsonGenerator gen, List<Metric> metrics) throws IOException {
    int totalMetricsInBatch = 0;
    gen.writeArrayFieldStart("metrics");

    for (Metric m : metrics) {
        if (!validTags(m.getConfig().getTags()))
            continue;

        if (!Number.class.isAssignableFrom(m.getValue().getClass()))
            continue;

        gen.writeStartObject();/*from www  .  j  a va  2 s. c om*/

        gen.writeObjectFieldStart("tags");
        gen.writeStringField("name", m.getConfig().getName());
        for (Tag tag : m.getConfig().getTags())
            gen.writeStringField(tag.getKey(), tag.getValue());
        gen.writeEndObject();

        gen.writeNumberField("start", m.getTimestamp());
        gen.writeNumberField("value", m.getNumberValue().doubleValue());

        gen.writeEndObject();

        totalMetricsInBatch++;
    }

    gen.writeEndArray();
    return totalMetricsInBatch;
}

From source file:com.ntsync.shared.RawContact.java

private static void writeList(StringBuilder hashValue, JsonGenerator g, String key,
        List<? extends IListRawData<?>> list, boolean hashRel) throws IOException {
    if (list != null) {
        g.writeArrayFieldStart(key);/*  w  w  w  .j  a v  a  2s  . c o m*/
        for (IListRawData<?> listItem : list) {
            g.writeStartObject();
            writeField(g, ContactConstants.DATA, listItem.getData());
            g.writeStringField(ContactConstants.TYPE, String.valueOf(listItem.getType().getVal()));
            writeField(g, ContactConstants.LABEL, listItem.getLabel());
            if (listItem.isSuperPrimary()) {
                g.writeBooleanField(ContactConstants.SUPERPRIMARY, true);
            }
            if (listItem.isPrimary()) {
                g.writeBooleanField(ContactConstants.PRIMARY, true);
            }
            g.writeEndObject();

            if (hashRel) {
                hashValue.append(listItem.getData());
                hashValue.append(':');
                hashValue.append(listItem.getType().getVal());
            }
        }
        g.writeEndArray();
    }
}

From source file:models.CategorySerializer.java

@Override
public void serialize(Category cat, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*from ww w . ja  v a  2s .c o  m*/
    jgen.writeStringField("id", cat.getId());
    jgen.writeStringField("label", cat.getLabel());
    jgen.writeFieldName("children");
    jgen.writeStartArray();
    for (Object obj : cat.getChildren()) {
        if (obj instanceof Group) {
            Group group = (Group) obj;
            jgen.writeStartObject();
            jgen.writeStringField("id", group.getId());
            jgen.writeStringField("label", group.getLabel());
            if (group.getType() == Type.PROCESS) {
                jgen.writeStringField("type", "PROCESS");
            } else {
                jgen.writeStringField("type", "COEFFICIENT");
            }
            jgen.writeEndObject();
        } else {
            jgen.writeObject(obj);
        }
    }
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:models.ReferenceSerializer.java

@Override
public void serialize(Reference reference, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();//from w w  w  .  ja v  a2 s  .  co m
    jgen.writeStringField("id", reference.getId());
    jgen.writeStringField("date", reference.getDate());
    jgen.writeStringField("publisher", reference.getPublisher());
    jgen.writeStringField("shortName", reference.getShortName());
    jgen.writeStringField("source", reference.getSource());
    jgen.writeStringField("title", reference.getTitle());
    jgen.writeStringField("url", reference.getURL());
    jgen.writeStringField("creator", reference.getCreator());
    jgen.writeFieldName("groups");
    jgen.writeStartArray();
    for (Group group : reference.getGroups()) {
        writeSimplifiedGroup(group, jgen);
    }
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:com.arpnetworking.logback.serialization.ArrayOfJsonSerialziationStrategy.java

/**
 * Serialize an event./* w ww .  ja  v  a 2  s . c o  m*/
 *
 * @param event The event.
 * @param eventName The event name.
 * @param keys The message keys.
 * @param jsonValues The message json values.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName, final String[] keys,
        final String[] jsonValues) {
    final StringWriter jsonWriter = new StringWriter();
    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        final int argsLength = jsonValues == null ? 0 : jsonValues.length;
        if (keys != null) {
            for (int i = 0; i < keys.length; i++) {
                if (i >= argsLength) {
                    jsonGenerator.writeObjectField(keys[i], null);
                } else {
                    jsonGenerator.writeFieldName(keys[i]);
                    jsonGenerator.writeRawValue(jsonValues[i]);
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}

From source file:com.ning.metrics.action.hdfs.reader.HdfsListing.java

@SuppressWarnings({ "unchecked", "unused" })
public void toJson(final OutputStream out, final boolean pretty) throws IOException {
    final String parentPath = getParentPath() == null ? "" : getParentPath();

    final JsonGenerator generator = new JsonFactory().createJsonGenerator(out);
    generator.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
    if (pretty) {
        generator.setPrettyPrinter(new DefaultPrettyPrinter());
    }//from w  w  w  .ja v  a 2 s. c  o  m

    generator.writeStartObject();
    generator.writeObjectField(JSON_LISTING_PATH, getPath());
    generator.writeObjectField(JSON_LISTING_PARENT_PATH, parentPath);
    generator.writeArrayFieldStart(JSON_LISTING_ENTRIES);
    // Important: need to flush before appending pre-serialized events
    generator.flush();

    for (HdfsEntry entry : getEntries()) {
        entry.toJson(generator);
    }
    generator.writeEndArray();

    generator.writeEndObject();
    generator.close();
}

From source file:ratpack.codahale.metrics.internal.WebSocketReporter.java

@SuppressWarnings("rawtypes")
private void writeGauges(JsonGenerator json, SortedMap<String, Gauge> gauges) throws IOException {
    json.writeArrayFieldStart("gauges");
    for (Map.Entry<String, Gauge> entry : gauges.entrySet()) {
        Gauge gauge = entry.getValue();//from w  ww.  j a va 2  s.  c  o m

        json.writeStartObject();
        json.writeStringField("name", entry.getKey());
        try {
            json.writeFieldName("value");
            json.writeObject(gauge.getValue());
        } catch (Exception e) {
            LOGGER.log(Level.FINE, "Exception encountered while reporting [" + entry.getKey() + "]: "
                    + e.getLocalizedMessage());
            json.writeNull();
        }
        json.writeEndObject();

    }
    json.writeEndArray();
}

From source file:org.lable.rfc3881.auditlogger.serialization.ReferenceableSerializer.java

@Override
public void serialize(Referenceable value, JsonGenerator generator, SerializerProvider provider)
        throws IOException {
    // Serialize CodeReference instead of whatever is backing Referenceable, to prevent the default serializer from
    // using the name of an enum implementing Referenceable.
    if (value instanceof CodeReference) {
        generator.writeStartObject();/*from   w w  w  . j  a va2 s.c  om*/
        writeField(generator, provider, "cs", ((CodeReference) value).getCodeSystem());
        writeField(generator, provider, "code", ((CodeReference) value).getCode());
        writeField(generator, provider, "csn", ((CodeReference) value).getCodeSystemName());
        writeField(generator, provider, "dn", ((CodeReference) value).getDisplayName());
        writeField(generator, provider, "ot", ((CodeReference) value).getOriginalText());
        generator.writeEndObject();
    } else {
        provider.defaultSerializeValue(value.toCodeReference(), generator);
    }
}

From source file:com.arpnetworking.logback.serialization.MapSerialziationStrategy.java

/**
 * Serialize an event./*from   w  w w  . j  a v a2  s  .c  om*/
 *
 * @param event The event.
 * @param eventName The event name.
 * @param map The message key to value pairs.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName,
        final Map<String, ? extends Object> map) {
    final StringWriter jsonWriter = new StringWriter();

    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        if (map != null) {
            for (final Map.Entry<String, ? extends Object> entry : map.entrySet()) {
                if (isSimpleType(entry.getValue())) {
                    jsonGenerator.writeObjectField(entry.getKey(), entry.getValue());
                } else {
                    jsonGenerator.writeFieldName(entry.getKey());
                    _objectMapper.writeValue(jsonGenerator, entry.getValue());
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}