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

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

Introduction

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

Prototype

public abstract void writeObject(Object pojo) throws IOException, JsonProcessingException;

Source Link

Document

Method for writing given Java object (POJO) as Json.

Usage

From source file:com.cloudera.exhibit.server.json.FrameSerializer.java

@Override
public void serialize(Frame res, JsonGenerator gen, SerializerProvider provider) throws IOException {
    gen.writeStartObject();// w w  w . ja  va 2s  . c o m
    gen.writeArrayFieldStart("columns");
    for (int i = 0; i < res.descriptor().size(); i++) {
        gen.writeString(res.descriptor().get(i).name);
    }
    gen.writeEndArray();

    gen.writeArrayFieldStart("data");
    for (Obs obs : res) {
        gen.writeStartArray();
        for (int i = 0; i < res.descriptor().size(); i++) {
            gen.writeObject(obs.get(i));
        }
        gen.writeEndArray();
    }
    gen.writeEndArray();
    gen.writeEndObject();
}

From source file:com.example.MessageList.java

/**
 * Build message list dependent on the format Message Hub requires. The
 * message list is in the form: [{ "value": base_64_string }, ...]
 * /*from  w  w  w.  j a  v a2s  . c o m*/
 * @return {String} String representation of a JSON object.
 * @throws IOException
 */
public String build() throws IOException {
    final JsonFactory jsonFactory = new JsonFactory();
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    JsonGenerator jsonGenerator = null;

    jsonGenerator = jsonFactory.createGenerator(outputStream);

    // [
    jsonGenerator.writeStartArray();

    // Write each message as a JSON object in
    // the form:
    // { "value": base_64_string }
    for (int i = 0; i < this.messages.size(); i++) {
        jsonGenerator.writeStartObject();
        jsonGenerator.writeFieldName("value");
        jsonGenerator.writeObject(this.messages.get(i));
        jsonGenerator.writeEndObject();
    }

    // ]
    jsonGenerator.writeEndArray();

    // Close underlying streams and return string representation.
    jsonGenerator.close();
    outputStream.close();

    return new String(outputStream.toByteArray());
}

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

private String buildJSONFromFields(Collection<SearchHitField> values) {
    JsonFactory nodeFactory = new JsonFactory();
    try {/*from   w w w  . jav a2  s  . c  o m*/
        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.strategicgains.hyperexpress.serialization.siren.jackson.SirenResourceSerializer.java

private void writeLinks(SirenResource resource, JsonGenerator jgen)
        throws JsonGenerationException, IOException {
    List<Link> links = resource.getLinks();

    if (links.isEmpty())
        return;/* ww  w .  j a  v a  2 s. c o m*/

    jgen.writeArrayFieldStart(LINKS);
    Map<String, SirenLink> linksByRel = indexLinksByHref(resource.getLinks());

    for (SirenLink link : linksByRel.values()) {
        jgen.writeObject(link);
    }

    jgen.writeEndArray();
}

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();//  w  w  w  . ja  v a2  s  .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.microsoft.rest.serializer.HeadersSerializer.java

@Override
public void serialize(Headers value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    Map<String, Object> headers = new HashMap<String, Object>();
    for (Map.Entry<String, List<String>> entry : value.toMultimap().entrySet()) {
        if (entry.getValue() != null && entry.getValue().size() == 1) {
            headers.put(entry.getKey(), entry.getValue().get(0));
        } else if (entry.getValue() != null && entry.getValue().size() > 1) {
            headers.put(entry.getKey(), entry.getValue());
        }//from w w  w. jav a  2s.  c om
    }
    jgen.writeObject(headers);
}

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

protected void serializeParameters(T meta, JsonGenerator json) throws IOException {
    json.writeArrayFieldStart(JSON_PROPERTY_PARAMETERS);
    String[] parameters = meta.listParameters();
    if (parameters != null) {
        for (String param : parameters) {
            try {
                ParamInfo paramInfo = new ParamInfo(param, null, meta.getParameterDefault(param),
                        meta.getParameterDescription(param));
                json.writeObject(paramInfo);
            } catch (UnknownParamException e) {
                LOGGER.warn(Messages.getString("WARNING.Serialization.Trans.Param", param), e);
            }/*from  w w  w. ja v  a2s. c o m*/
        }
    }
    json.writeEndArray();
}

From source file:de.fraunhofer.iosb.ilt.sta.serialize.EntitySetResultSerializer.java

@Override
public void serialize(EntitySetResult value, JsonGenerator gen, SerializerProvider serializers)
        throws IOException, JsonProcessingException {
    gen.writeStartObject();/*  ww  w.  ja  v a2  s.  co  m*/
    long count = value.getValues().getCount();
    if (count >= 0) {
        gen.writeNumberField("@iot.count", count);
    }
    String nextLink = value.getValues().getNextLink();
    if (nextLink != null) {
        gen.writeStringField("@iot.nextLink", nextLink);
    }

    // TODO begin/end array, iterate over content
    gen.writeFieldName("value");
    gen.writeObject(value.getValues());
    gen.writeEndObject();
}

From source file:models.GroupSerializer.java

@Override
public void serialize(Group group, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();//from  w  w  w. java 2s.c  o m
    jgen.writeStringField("id", group.getId());
    jgen.writeStringField("comment", parseReferencesInComment(group));
    jgen.writeStringField("label", group.getLabel());
    jgen.writeFieldName("unit");
    jgen.writeObject(group.getUnit());
    jgen.writeFieldName("type");
    jgen.writeObject(group.getType());

    jgen.writeFieldName("commonKeywords");
    jgen.writeObject(group.getCommonKeywords());

    jgen.writeFieldName("dimensions");
    jgen.writeStartArray();
    for (Dimension dim : group.getDimSet().dimensions) {
        jgen.writeStartObject();
        jgen.writeFieldName("id");
        jgen.writeObject(dim.getId());
        jgen.writeFieldName("keywords");
        jgen.writeObject(dim.keywords);
        jgen.writeFieldName("keywordsPosition");
        jgen.writeObject(dim.keywordsPosition);
        jgen.writeFieldName("orientation");
        jgen.writeObject(group.getDimSet().getDimensionOrientation(dim));
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeFieldName("overlap");
    jgen.writeStartArray();
    for (Group otherGroup : group.getOverlappingGroups()) {
        jgen.writeStartObject();
        jgen.writeStringField("id", otherGroup.getId());
        jgen.writeStringField("label", otherGroup.getLabel());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeFieldName("references");
    jgen.writeStartArray();
    for (Reference ref : group.getReferences()) {
        jgen.writeObject(ref);
    }
    jgen.writeEndArray();

    jgen.writeFieldName("sourceRelations");
    jgen.writeStartArray();
    for (SourceRelation sourceRelation : group.getSourceRelations()) {
        jgen.writeObject(sourceRelation);
    }
    jgen.writeEndArray();

    jgen.writeFieldName("elementsURI");
    jgen.writeStartObject();
    for (SingleElement element : group.getElements()) {
        jgen.writeStringField(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId(),
                element.getId());
    }
    jgen.writeEndObject();

    if (group.getType() == Type.COEFFICIENT) {
        jgen.writeFieldName("elementsValue");
        jgen.writeStartObject();
        for (SingleElement element : group.getElements()) {
            Coefficient coeff = (Coefficient) element;
            jgen.writeFieldName(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId());
            jgen.writeStartObject();
            jgen.writeNumberField("value", coeff.getValue().value);
            jgen.writeNumberField("uncertainty", coeff.getValue().uncertainty);
            jgen.writeEndObject();
        }
        jgen.writeEndObject();
    } else {
        jgen.writeFieldName("elementsImpactsAndFlows");
        jgen.writeStartObject();
        for (SingleElement element : group.getElements()) {
            Process process = (Process) element;
            jgen.writeFieldName(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId());
            jgen.writeStartObject();
            for (ElementaryFlow flow : process.getCalculatedFlows().values()) {
                jgen.writeFieldName(flow.getType().getId());
                jgen.writeStartObject();
                jgen.writeNumberField("value", flow.getValue().value);
                jgen.writeNumberField("uncertainty", flow.getValue().uncertainty);
                jgen.writeEndObject();
            }
            for (Impact impact : process.getImpacts().values()) {
                jgen.writeFieldName(impact.getType().getId());
                jgen.writeStartObject();
                jgen.writeNumberField("value", impact.getValue().value);
                jgen.writeNumberField("uncertainty", impact.getValue().uncertainty);
                jgen.writeEndObject();
            }
            jgen.writeEndObject();
        }
        jgen.writeEndObject();
    }

    jgen.writeEndObject();
}

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();/* w w  w .  j a v a  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();
}