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

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

Introduction

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

Prototype

public abstract void writeStartObject() throws IOException, JsonGenerationException;

Source Link

Document

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

Usage

From source file:com.proofpoint.event.collector.FilteringMapSerializer.java

@Override
public void serialize(Map<String, ?> map, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    //have to do this before starting to write the object, otherwise proper context is lost.
    PropertyMapSelectionPolicy filter = findApplicableFilter(jgen.getOutputContext());
    jgen.writeStartObject();
    for (Map.Entry<String, ?> entry : map.entrySet()) {
        String name = entry.getKey();

        if (!filter.matches(name)) {
            continue;
        }/* ww  w.ja v a 2  s . c o m*/

        Object value = entry.getValue();
        jgen.writeObjectField(name, value);
    }
    jgen.writeEndObject();
}

From source file:net.logstash.logback.composite.CompositeJsonFormatter.java

protected void writeEventToGenerator(JsonGenerator generator, Event event) throws IOException {
    if (!isStarted()) {
        throw new IllegalStateException("Encoding attempted before starting.");
    }/*www  .  j a v  a 2  s. co  m*/
    generator.writeStartObject();
    jsonProviders.writeTo(generator, event);
    generator.writeEndObject();
    generator.flush();
}

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

/**
 * Serialize an event./*from www . j  a va2  s  .c  o m*/
 *
 * @param event The event.
 * @param eventName The event name.
 * @param jsonData The message data as serialized JSON.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName, final String jsonData) {

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

        // Write event data
        jsonGenerator.writeFieldName("data");
        if (jsonData == null) {
            jsonGenerator.writeStartObject();
            jsonGenerator.writeEndObject();
        } else {
            jsonGenerator.writeRawValue(jsonData);
        }
        // TODO(vkoskela): Support writing null objects as-is via configuration [MAI-333]
        // e.g. "data":null -- although this is not supported by the current Steno specification

        // 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:test.com.azaptree.services.json.JsonUtilsTest.java

@Test
public void test_serialize() throws JsonGenerationException, IOException {
    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    final JsonGenerator generator = JsonUtils.createJsonGenerator(bos);
    generator.writeStartObject();
    generator.writeStringField("stringField", "stringFieldValue");
    generator.writeNumberField("numberField", 5);
    generator.writeEndObject();/*from w  w  w  . j  ava 2  s. com*/
    generator.close();

    final Map<String, Object> test = JsonUtils.parse(new ByteArrayInputStream(bos.toByteArray()));
    Assert.assertEquals(test.get("stringField"), "stringFieldValue");
    Assert.assertEquals(test.get("numberField"), 5);
}

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  www  .  j ava2  s.c om*/

    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:com.predic8.membrane.core.interceptor.administration.AdminRESTInterceptor.java

@Mapping("/admin/rest/exchanges/(-?\\d+)/(response|request)/header")
public Response getRequestHeader(QueryParameter params, String relativeRootPath) throws Exception {
    final AbstractExchange exc = router.getExchangeStore().getExchangeById(params.getGroupInt(1));

    if (exc == null) {
        return Response.notFound().build();
    }/*from w  w  w .  j  a  v a  2 s.  c  om*/

    final Message msg = params.getGroup(2).equals("response") ? exc.getResponse() : exc.getRequest();

    if (msg == null) {
        return Response.noContent().build();
    }

    return json(new JSONContent() {
        public void write(JsonGenerator gen) throws Exception {
            gen.writeStartObject();
            gen.writeArrayFieldStart("headers");
            for (HeaderField hf : msg.getHeader().getAllHeaderFields()) {
                gen.writeStartObject();
                gen.writeStringField("name", hf.getHeaderName().toString());
                gen.writeStringField("value", hf.getValue());
                gen.writeEndObject();
            }
            gen.writeEndArray();
            gen.writeEndObject();
        }
    });
}

From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java

private void writeJsonNodeObject(JsonGenerator jg, Node term, Label annotationLabel) throws IOException {
    jg.writeStartObject(); // {
    jg.writeStringField("uri", term.getProperty("uri").toString()); // uri: "http://www.w3.org/2002/07/owl#Thing"
    jg.writeStringField("ontId", term.getProperty("name").toString()); // ontId: "OWL:Thing"
    jg.writeStringField("label", term.getProperty("rdfs:label", term.getProperty("name")).toString()); // ontId: "OWL:Thing"
    jg.writeFieldName("dataSets"); // dataSets:
    jg.writeStartArray(); // [
    jg.writeEndArray(); // ]
    writeJsonNodeObjectParents(jg, term, annotationLabel);
    jg.writeEndObject(); // }
}

From source file:com.msopentech.odatajclient.engine.performance.BasicPerfTest.java

@Test
public void writeJSONViaLowerlevelLibs() throws IOException {
    final StringWriter writer = new StringWriter();

    final ObjectMapper mapper = new ObjectMapper();

    final JsonGenerator jgen = mapper.getFactory().createGenerator(writer);

    jgen.writeStartObject();//w ww  . ja  v a2  s .co  m

    jgen.writeStringField("odata.type", "Microsoft.Test.OData.Services.AstoriaDefaultService.Customer");

    jgen.writeStringField("Name@odata.type", "Edm.String");
    jgen.writeStringField("Name", "A name");

    jgen.writeStringField("CustomerId@odata.type", "Edm.Int32");
    jgen.writeNumberField("CustomerId", 0);

    jgen.writeArrayFieldStart("BackupContactInfo");

    jgen.writeStartObject();

    jgen.writeArrayFieldStart("AlternativeNames");
    jgen.writeString("myname");
    jgen.writeEndArray();

    jgen.writeArrayFieldStart("EmailBag");
    jgen.writeString("myname@mydomain.com");
    jgen.writeEndArray();

    jgen.writeObjectFieldStart("ContactAlias");
    jgen.writeStringField("odata.type", "Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases");
    jgen.writeArrayFieldStart("AlternativeNames");
    jgen.writeString("myAlternativeName");
    jgen.writeEndArray();
    jgen.writeEndObject();

    jgen.writeEndObject();

    jgen.writeEndArray();

    jgen.writeEndObject();

    jgen.flush();

    assertFalse(writer.toString().isEmpty());
}

From source file:org.bndtools.rt.repository.server.RepositoryResourceComponent.java

@GET
@Path("bundles/{bsn}")
@Produces(MediaType.APPLICATION_JSON)//from ww w .  j av a  2  s . co m
public Response listVersions(@Context UriInfo uriInfo, @PathParam("bsn") String bsn) throws Exception {
    SortedSet<Version> versions = repo.versions(bsn);

    UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder().path("{version}");

    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createJsonGenerator(writer);
    generator.writeStartArray();
    for (Version version : versions) {
        generator.writeStartObject();
        generator.writeStringField("bsn", bsn);
        generator.writeStringField("version", version.toString());
        generator.writeStringField("href", uriBuilder.build(version).toString());
        generator.writeEndObject();
    }
    generator.writeEndArray();
    generator.close();

    return Response.ok(writer.toString(), MediaType.APPLICATION_JSON).build();
}

From source file:com.messagehub.samples.servlet.MessageList.java

/**
 * Build message list dependent on the format Message Hub requires. The
 * message list is in the form: [{ "value": base_64_string }, ...]
 *
 * @return {String} String representation of a JSON object.
 * @throws IOException//from   w  w w . j a  v a2 s .c o m
 */
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());
}