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

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

Introduction

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

Prototype

public final void writeObjectField(String fieldName, Object pojo) throws IOException, JsonProcessingException 

Source Link

Document

Convenience method for outputting a field entry ("member") that has contents of specific Java object as its value.

Usage

From source file:org.lamop.riche.model.RelationWorkSourceSerializer.java

@Override
public void serialize(RelationWorkSource t, JsonGenerator jsonGenerator, SerializerProvider sp)
        throws IOException, JsonProcessingException {

    //        try {
    jsonGenerator.writeStartObject();/* w w w.  ja v  a 2s.  c om*/

    jsonGenerator.writeStringField("extract", t.getExtract());
    jsonGenerator.writeStringField("nature", t.getNature());

    Source source = t.getSource();
    Source sourceSer = new Source();
    sourceSer.setId(source.getId());
    sourceSer.setArticleTitle(source.getArticleTitle());
    sourceSer.setTitle(source.getTitle());
    //            sourceSer.setRelationPerson(source.getRelationPerson());
    jsonGenerator.writeObjectField("source", sourceSer);

    //            WorkEntity workSer = (WorkEntity) t.getWorkEntity().clone();

    WorkEntity workSer = new WorkEntity();
    workSer.setId(t.getWorkEntity().getId());
    workSer.setTitle(t.getWorkEntity().getTitle());

    //            workSer.getRelationWorkSource().clear();

    //        WorkEntity work = t.getWorkEntity();
    //        workSer.setId(work.getId());
    //        workSer.setTitle(work.getTitle());
    jsonGenerator.writeObjectField("workEntity", workSer);
    jsonGenerator.writeEndObject();
    //        } 
    //        catch (CloneNotSupportedException ex) {
    //            Logger.getLogger(RelationWorkSourceSerializer.class.getName()).log(Level.SEVERE, null, ex);
    //        }
}

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

private String buildJSONFromFields(Collection<SearchHitField> values) {
    JsonFactory nodeFactory = new JsonFactory();
    try {/*from w ww  .  ja  va 2 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.spotify.apollo.meta.TypesafeConfigSerializer.java

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

    if (value.valueType() == ConfigValueType.OBJECT) {
        final ConfigObject object = (ConfigObject) value;

        jgen.writeStartObject();//from w w w  .ja  va  2  s  .c  o m
        for (Map.Entry<String, ConfigValue> valueEntry : object.entrySet()) {
            if (withOrigins) {
                final ConfigOrigin origin = valueEntry.getValue().origin();
                jgen.writeStringField(valueEntry.getKey() + "__origin",
                        origin.description() + (origin.filename() != null ? ", " + origin.filename() : ""));
            }
            jgen.writeObjectField(valueEntry.getKey(), valueEntry.getValue());
        }
        jgen.writeEndObject();
    } else if (value.valueType() == ConfigValueType.LIST) {
        final ConfigList list = (ConfigList) value;

        jgen.writeStartArray();
        for (ConfigValue configValue : list) {
            jgen.writeObject(configValue);
        }
        jgen.writeEndArray();
    } else {
        jgen.writeObject(value.unwrapped());
    }
}

From source file:org.onebusaway.nextbus.impl.rest.jackson.BodySerializer.java

@Override
public void serialize(Body<T> value, JsonGenerator gen, SerializerProvider serializers)
        throws IOException, JsonProcessingException {

    List<T> response = value.getResponse();
    List<BodyError> errors = value.getErrors();
    String copyright = value.getCopyright();
    LastTime lastTime = value.getLastTime();

    gen.writeStartObject();/*www. j  av  a 2 s .  c o  m*/

    // Copyright
    if (StringUtils.isNotBlank(copyright))
        gen.writeStringField("copyright", copyright);

    // Error
    if (errors != null && errors.size() > 0) {
        for (BodyError error : errors)
            error.setContent(error.getContent().replace("\\", ""));
        gen.writeObjectField("Error", errors);
    }

    // Response
    if (response != null && response.size() > 0) {
        JsonRootName jsonRootName = response.get(0).getClass().getAnnotation(JsonRootName.class);
        if (jsonRootName != null)
            gen.writeObjectField(jsonRootName.value(), response);
        else
            gen.writeObjectField("response", response);
    }

    // LastTime
    if (lastTime != null)
        gen.writeObjectField("lastTime", lastTime);

    gen.writeEndObject();
}

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

protected void writeRepoAttributes(T meta, JsonGenerator json) throws IOException {
    StepMeta parentStepMeta = meta.getParentStepMeta();
    if (parentStepMeta != null) {
        String id = meta.getObjectId() == null ? parentStepMeta.getName() : meta.getObjectId().toString();
        ObjectId stepId = new StringObjectId(id);

        LineageRepository repo = getLineageRepository();
        if (repo != null) {
            Map<String, Object> attrs = repo.getStepAttributesCache(stepId);
            json.writeObjectField(JSON_PROPERTY_ATTRIBUTES, attrs);

            List<Map<String, Object>> fields = repo.getStepFieldsCache(stepId);
            json.writeObjectField(JSON_PROPERTY_FIELDS, fields);
        }//from ww w.  j  a v  a 2  s . c o  m
    }
}

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  w  w  .j a va 2s.  c  om
    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.zenesis.qx.remote.SimpleQueue.java

@Override
public synchronized void serialize(JsonGenerator gen, SerializerProvider sp)
        throws IOException, JsonProcessingException {
    gen.writeStartArray();//from   w w w . j  ava2s . c o m
    while (!values.isEmpty()) {
        CommandId id = values.keySet().iterator().next();
        Object data = values.remove(id);

        if (id.type == CommandType.DEFINE) {
            ProxyType type = (ProxyType) id.object;
            ProxySessionTracker tracker = ((ProxyObjectMapper) gen.getCodec()).getTracker();
            if (tracker.isTypeDelivered(type))
                continue;
        }

        gen.writeStartObject();
        gen.writeStringField("type", id.type.remoteId);
        if (id.object != null)
            gen.writeObjectField("object", id.object);
        if (id.name != null)
            gen.writeObjectField("name", id.name);
        if (data != null)
            gen.writeObjectField("data", data);
        gen.writeEndObject();
    }
    gen.writeEndArray();
    values.clear();
    needsFlush = false;
}

From source file:org.calrissian.mango.json.ser.TupleSerializer.java

@Override
public void serialize(Tuple tuple, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {
    jsonGenerator.writeStartObject();//from   w  ww.  j a  v  a2 s. co m

    jsonGenerator.writeStringField("key", tuple.getKey());
    Object value = tuple.getValue();
    if (value != null) {
        String type = typeContext.getAlias(value);
        String val_str = typeContext.encode(value);
        jsonGenerator.writeStringField("type", type);
        jsonGenerator.writeStringField("value", val_str);

        jsonGenerator.writeArrayFieldStart("metadata");

        Set<Map.Entry<String, Object>> entries = tuple.getMetadata().entrySet();
        for (Map.Entry<String, Object> objectEntry : entries) {
            jsonGenerator.writeStartObject();
            jsonGenerator.writeObjectField("value", typeContext.encode(objectEntry.getValue()));
            jsonGenerator.writeObjectField("type", typeContext.getAlias(objectEntry.getValue()));
            jsonGenerator.writeObjectField("key", objectEntry.getKey());
            jsonGenerator.writeEndObject();
        }
        jsonGenerator.writeEndArray();

    }

    jsonGenerator.writeEndObject();
}

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

/**
 * Write the GeoJSON properties./* www . j a  v a2 s  .  c  om*/
 *
 * @param jsonGenerator
 * @param rs
 * @throws IOException
 */
private void writeProperties(JsonGenerator jsonGenerator, ResultSet rs) throws IOException, SQLException {
    if (columnCountProperties != -1) {
        jsonGenerator.writeObjectFieldStart("properties");
        for (Map.Entry<String, Integer> entry : cachedColumnNames.entrySet()) {
            String string = entry.getKey();
            Integer fieldId = entry.getValue();
            jsonGenerator.writeObjectField(string, rs.getObject(fieldId));
        }
        jsonGenerator.writeEndObject();
    }
}

From source file:net.opentsdb.tree.Branch.java

/**
 * Returns serialized data for the branch to put in storage. This is necessary
 * to reduce storage space and for proper CAS calls
 * @return A byte array for storage/*ww w .j a  v  a  2  s . co m*/
 */
private byte[] toStorageJson() {
    // grab some memory to avoid reallocs
    final ByteArrayOutputStream output = new ByteArrayOutputStream(
            (display_name.length() * 2) + (path.size() * 128));
    try {
        final JsonGenerator json = JSON.getFactory().createGenerator(output);

        json.writeStartObject();

        // we only need to write a small amount of information
        json.writeObjectField("path", path);
        json.writeStringField("displayName", display_name);

        json.writeEndObject();
        json.close();

        // TODO zero copy?
        return output.toByteArray();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}