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

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

Introduction

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

Prototype

public final void writeObjectFieldStart(String fieldName) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") (that will contain a JSON Object value), and the START_OBJECT marker.

Usage

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

/**
 * Write a <code>Throwable</code> via <code>IThrowableProxy</code> as JSON.
 *
 * @param throwableProxy Throwable to serialize
 * @param jsonGenerator  <code>JsonGenerator</code> instance.
 * @param objectMapper <code>ObjectMapper</code> instance.
 * @throws IOException If writing JSON fails.
 *///from   w  w  w  .java 2s.  co m
protected void writeThrowable(final IThrowableProxy throwableProxy, final JsonGenerator jsonGenerator,
        final ObjectMapper objectMapper) throws IOException {

    if (throwableProxy != null) {
        jsonGenerator.writeObjectFieldStart("exception");
        serializeThrowable(throwableProxy, jsonGenerator, objectMapper);
        jsonGenerator.writeEndObject();
    }
}

From source file:com.microsoft.azure.storage.queue.CloudQueueEncryptedMessage.java

public String serialize() throws IOException {
    final StringWriter strWriter = new StringWriter();
    JsonGenerator generator = Utility.getJsonGenerator(strWriter);

    try {//from  w w w.  ja va  2s. co  m
        // start object
        generator.writeStartObject();

        // write message contents
        generator.writeStringField("EncryptedMessageContents", this.getEncryptedMessageContents());

        // write encryption data
        generator.writeObjectFieldStart("EncryptionData");
        this.getEncryptionData().serialize(generator);
        generator.writeEndObject();

        // end object
        generator.writeEndObject();
    } finally {
        generator.close();
    }

    return strWriter.toString();
}

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

private void writeLinks(HalResource resource, boolean isEmbedded, JsonGenerator jgen)
        throws JsonGenerationException, IOException {
    List<Link> links = resource.getLinks();
    List<Namespace> namespaces = resource.getNamespaces();
    if (links.isEmpty() && (isEmbedded || namespaces.isEmpty()))
        return;//from  w  w  w .j  a va 2  s.co  m

    jgen.writeObjectFieldStart(LINKS);
    writeCuries(namespaces, isEmbedded, jgen);

    Map<String, List<HalLink>> linksByRel = indexLinksByRel(resource.getLinks());

    for (Entry<String, List<HalLink>> entry : linksByRel.entrySet()) {
        if (entry.getValue().size() == 1 && !resource.isMultipleLinks(entry.getKey())) // Write single link
        {
            HalLink link = entry.getValue().iterator().next();

            if (null == link.getTemplated()) {
                link.setTemplated(link.hasTemplate() ? true : null);
            }

            jgen.writeObjectField(entry.getKey(), link);
        } else // Write link array
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (HalLink link : entry.getValue()) {
                if (null == link.getTemplated()) {
                    link.setTemplated(link.hasTemplate() ? true : null);
                }

                jgen.writeObject(link);
            }

            jgen.writeEndArray();
        }

    }

    jgen.writeEndObject();
}

From source file:org.codehaus.modello.plugin.jsonschema.JsonSchemaGenerator.java

private void writeClassDocumentation(JsonGenerator generator, ModelClass modelClass, boolean isRoot)
        throws IOException {
    if (!isRoot) {
        generator.writeObjectFieldStart(modelClass.getName());
    }/*from w  w  w .jav a 2  s. c  o m*/

    generator.writeStringField("id", modelClass.getName() + '#');
    writeDescriptionField(generator, modelClass.getDescription());
    writeTypeField(generator, "object");

    generator.writeObjectFieldStart("properties");

    List<String> required = new LinkedList<String>();

    ModelClass reference = modelClass;
    // traverse the whole modelClass hierarchy to create the nested Builder instance
    while (reference != null) {
        // collect parameters and set them in the instance object
        for (ModelField modelField : reference.getFields(getGeneratedVersion())) {
            if (modelField.isRequired()) {
                required.add(modelField.getName());
            }

            // each field is represented as object
            generator.writeObjectFieldStart(modelField.getName());

            writeDescriptionField(generator, modelField.getDescription());

            if (modelField instanceof ModelAssociation) {
                ModelAssociation modelAssociation = (ModelAssociation) modelField;

                if (modelAssociation.isOneMultiplicity()) {
                    writeTypeField(generator, modelAssociation.getType());
                } else {
                    // MANY_MULTIPLICITY
                    writeTypeField(generator, "array");

                    generator.writeObjectFieldStart("items");

                    String type = modelAssociation.getType();
                    String toType = modelAssociation.getTo();

                    if (ModelDefault.LIST.equals(type) || ModelDefault.SET.equals(type)) {
                        writeTypeField(generator, toType);
                    } else {
                        // Map or Properties

                        writeTypeField(generator, "object");

                        generator.writeObjectFieldStart("properties");

                        XmlAssociationMetadata xmlAssociationMetadata = (XmlAssociationMetadata) modelAssociation
                                .getAssociationMetadata(XmlAssociationMetadata.ID);

                        if (xmlAssociationMetadata.isMapExplode()) {
                            // key
                            generator.writeObjectFieldStart("key");
                            writeTypeField(generator, "string");
                            generator.writeEndObject();

                            // value
                            generator.writeObjectFieldStart("value");
                            writeTypeField(generator, toType);
                            generator.writeEndObject();

                            // properties
                            generator.writeEndObject();

                            // required field
                            generator.writeArrayFieldStart("required");
                            generator.writeString("key");
                            generator.writeString("value");
                            generator.writeEndArray();
                        } else {
                            generator.writeObjectFieldStart("*");
                            writeTypeField(generator, toType);
                            generator.writeEndObject();
                        }
                    }

                    // items
                    generator.writeEndObject();
                }
            } else {
                writeTypeField(generator, modelField.getType());
            }

            generator.writeEndObject();
        }

        if (reference.hasSuperClass()) {
            reference = reference.getModel().getClass(reference.getSuperClass(), getGeneratedVersion());
        } else {
            reference = null;
        }
    }

    // end of `properties` element
    generator.writeEndObject();

    // write `required` sequence
    if (!required.isEmpty()) {
        generator.writeArrayFieldStart("required");

        for (String requiredField : required) {
            generator.writeString(requiredField);
        }

        generator.writeEndArray();
    }

    // end definition
    if (!isRoot) {
        generator.writeEndObject();
    }
}

From source file:com.attribyte.essem.es.SearchRequest.java

private void generateSort(final JsonGenerator generator) throws IOException {

    generator.writeArrayFieldStart("sort");
    {/*  w ww  . ja v a 2s  . co  m*/
        generator.writeStartObject();
        {
            generator.writeObjectFieldStart(sortField);
            {
                generator.writeStringField("order", isAscending ? "asc" : "desc");
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndArray();
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java

/**
 * Serializes a {@link NativeRequest} to JSON, with a provided {@link JsonGenerator}
 * which allows several choices of output and encoding.
 *//*from www.  j  a va2s .c o m*/
public final void writeNativeRequest(NativeRequest req, JsonGenerator gen) throws IOException {
    gen.writeStartObject();
    if (factory().isRootNativeField()) {
        gen.writeObjectFieldStart("native");
    }
    writeNativeRequestFields(req, gen);
    writeExtensions(req, gen);
    if (factory().isRootNativeField()) {
        gen.writeEndObject();
    }
    gen.writeEndObject();
    gen.flush();
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java

/**
 * Serializes a {@link NativeResponse} to JSON, with a provided {@link JsonGenerator}
 * which allows several choices of output and encoding.
 *///from ww  w .j  a  v  a2 s .  c o  m
public final void writeNativeResponse(NativeResponse resp, JsonGenerator gen) throws IOException {
    gen.writeStartObject();
    if (factory().isRootNativeField()) {
        gen.writeObjectFieldStart("native");
    }
    writeNativeResponseFields(resp, gen);
    writeExtensions(resp, gen);
    if (factory().isRootNativeField()) {
        gen.writeEndObject();
    }
    gen.writeEndObject();
    gen.flush();
}

From source file:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java

private void collectFromMessage(JsonGenerator gen, Message msg) {
    try {/*from   w  ww.jav a2  s . c  o m*/
        if (traceIncludesHeader) {
            if (msg.getHeader().getAllHeaderFields().length > 0) {
                gen.writeObjectFieldStart("headers");
                for (HeaderField hf : msg.getHeader().getAllHeaderFields()) {
                    gen.writeObjectField(hf.getHeaderName().toString(), hf.getValue());
                }
                gen.writeEndObject();
            }
        }
        String body = getBody(msg);
        if (body.length() > 0)
            gen.writeObjectField("body", body);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java

/**
 * Write a JTS geometry to its GeoJSON geometry representation.
 * //from   w ww  .  j  av a2  s.  com
 * Syntax:
 *
 * "geometry":{"type": "Point", "coordinates": [102.0, 0.5]}
 *
 * @param jsonGenerator
 * @param geometry
 */
private void writeGeometry(Geometry geom, JsonGenerator gen) throws IOException {
    gen.writeObjectFieldStart("geometry");
    if (geom instanceof Point) {
        write((Point) geom, gen);
    } else if (geom instanceof MultiPoint) {
        write((MultiPoint) geom, gen);
    } else if (geom instanceof LineString) {
        write((LineString) geom, gen);
    } else if (geom instanceof MultiLineString) {
        write((MultiLineString) geom, gen);
    } else if (geom instanceof Polygon) {
        write((Polygon) geom, gen);
    } else if (geom instanceof MultiPolygon) {
        write((MultiPolygon) geom, gen);
    } else if (geom instanceof GeometryCollection) {
        write((GeometryCollection) geom, gen);
    } else {
        throw new RuntimeException("Unsupported Geomery type");
    }
    gen.writeEndObject();
}

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

@Override
public void serialize(Api api, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*  w  w  w. j a  v  a  2s.  c o m*/
    jgen.writeStringField("id", api.getId());
    jgen.writeStringField("name", api.getName());
    jgen.writeObjectField("version", api.getVersion());

    if (api.getProxy() != null) {
        jgen.writeObjectField("proxy", api.getProxy());
    }

    if (api.getPaths() != null) {
        jgen.writeObjectFieldStart("paths");
        api.getPaths().forEach((s, path) -> {
            try {
                jgen.writeObjectField(s, path);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        jgen.writeEndObject();
    }

    if (api.getServices() != null && !api.getServices().isEmpty()) {
        jgen.writeObjectField("services", api.getServices());
    }

    if (api.getResources() != null && !api.getResources().isEmpty()) {
        jgen.writeArrayFieldStart("resources");
        for (Resource resource : api.getResources()) {
            jgen.writeObject(resource);
        }
        jgen.writeEndArray();
    }

    if (api.getProperties() != null) {
        jgen.writeObjectFieldStart("properties");
        api.getProperties().forEach((s, property) -> {
            try {
                jgen.writeObjectField(s, property);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        jgen.writeEndObject();
    }

    if (api.getTags() != null && !api.getTags().isEmpty()) {
        jgen.writeArrayFieldStart("tags");
        api.getTags().forEach(tag -> {
            try {
                jgen.writeObject(tag);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
        jgen.writeEndArray();
    }

    jgen.writeEndObject();
}