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

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

Introduction

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

Prototype

public abstract void writeEndArray() throws IOException, JsonGenerationException;

Source Link

Document

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

Usage

From source file:org.emfjson.jackson.streaming.StreamWriter.java

private void serializeContainment(JsonGenerator generator, String key, EReference containment, EObject owner,
        Object value) throws IOException {

    if (containment.isMany()) {
        final Collection<?> values = (Collection<?>) value;

        generator.writeFieldName(key);//from w ww. j  av a2  s  . com
        generator.writeStartArray();
        for (Object current : values) {
            EObject target = (EObject) current;

            if (isContainmentProxy(owner, target)) {
                referenceWriter.writeRef(generator, target);
            } else {
                generate(generator, target);
            }

        }
        generator.writeEndArray();

    } else {

        generator.writeFieldName(key);
        if (isContainmentProxy(owner, (EObject) value)) {
            referenceWriter.writeRef(generator, (EObject) value);
        } else {
            generate(generator, (EObject) value);
        }

    }
}

From source file:models.SourceRelationSerializer.java

@Override
public void serialize(SourceRelation relation, JsonGenerator jgen, SerializerProvider provider)
        throws IOException {
    jgen.writeStartObject();//from   w  w  w .ja v a 2 s.c o  m
    jgen.writeStringField("id", relation.getId());
    jgen.writeNumberField("exponent", relation.getExponent());

    jgen.writeFieldName("type");
    jgen.writeObject(relation.getType());

    jgen.writeFieldName("source");
    writeSimplifiedGroup(relation.getSource(), jgen);

    jgen.writeFieldName("coeff");
    writeSimplifiedGroup(relation.getCoeff(), jgen);

    jgen.writeFieldName("destination");
    writeSimplifiedGroup(relation.getDestination(), jgen);

    jgen.writeFieldName("derivedRelations");
    jgen.writeStartArray();
    for (DerivedRelation derivedRelation : relation.getDerivedRelations()) {
        jgen.writeObject(derivedRelation);
    }
    jgen.writeEndArray();
    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();/*from  w ww .java  2 s .  c om*/

        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:com.baasbox.configuration.PropertiesConfigurationHelper.java

public static String dumpConfigurationSectionAsFlatJson(String section) {
    Class en = CONFIGURATION_SECTIONS.get(section);
    try {//from  w  w w  . j av  a 2 s .c o  m
        JsonFactory jfactory = new JsonFactory();
        StringWriter sw = new StringWriter();
        String enumDescription = "";
        JsonGenerator gen = jfactory.createJsonGenerator(sw);
        gen.writeStartArray();
        EnumSet values = EnumSet.allOf(en);
        for (Object v : values) {
            String key = (String) (en.getMethod("getKey")).invoke(v);

            boolean isVisible = (Boolean) (en.getMethod("isVisible")).invoke(v);
            String valueAsString;
            if (isVisible)
                valueAsString = (String) (en.getMethod("getValueAsString")).invoke(v);
            else
                valueAsString = "--HIDDEN--";
            boolean isEditable = (Boolean) (en.getMethod("isEditable")).invoke(v);
            boolean isOverridden = (Boolean) (en.getMethod("isOverridden")).invoke(v);
            String valueDescription = (String) (en.getMethod("getValueDescription")).invoke(v);
            Class type = (Class) en.getMethod("getType").invoke(v);

            gen.writeStartObject(); //               {
            gen.writeStringField("key", key);
            gen.writeStringField("value", valueAsString);
            gen.writeStringField("description", valueDescription); //                  ,"description":"description"
            gen.writeStringField("type", type.getSimpleName()); //                  ,"type":"type"
            gen.writeBooleanField("editable", isEditable);
            gen.writeBooleanField("overridden", isOverridden);
            gen.writeEndObject(); //               }
        }
        if (gen.getOutputContext().inArray())
            gen.writeEndArray(); //            ]
        gen.close();
        return sw.toString();
    } catch (Exception e) {
        BaasBoxLogger.error("Cannot generate a json for " + en.getSimpleName()
                + " Enum. Is it an Enum that implements the IProperties interface?", e);
    }
    return "{}";
}

From source file:com.nebhale.cyclinglibrary.web.json.ItemJsonSerializer.java

@Override
public void serialize(Item value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*w w w. j  a va2s  .  c om*/
    jgen.writeStringField("name", value.getName());
    jgen.writeStringField("shortName", value.getShortName());
    jgen.writeArrayFieldStart("links");
    jgen.writeObject(new Link("self", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value));
    jgen.writeObject(new Link("points-raw", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value, "points"));
    jgen.writeObject(new Link("points-image", "types", value.getTypeId(), "collections",
            value.getCollectionId(), "items", value, "points"));
    jgen.writeObject(new Link("points-gpx", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value, "points"));
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:io.swagger.inflector.processors.JsonNodeExampleSerializer.java

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

    if (value instanceof ObjectExample) {
        ObjectExample obj = (ObjectExample) value;
        jgen.writeStartObject();/*  w w  w. j a  v a 2  s  . com*/
        writeTo(jgen, obj);
        jgen.writeEndObject();
    } else if (value instanceof ArrayExample) {
        ArrayExample obj = (ArrayExample) value;
        jgen.writeStartArray();
        for (Example item : obj.getItems()) {
            if (item instanceof ObjectExample) {
                jgen.writeStartObject();
            }
            writeTo(jgen, item);
            if (item instanceof ObjectExample) {
                jgen.writeEndObject();
            }
        }
        jgen.writeEndArray();
    } else {
        writeTo(jgen, value);
    }
}

From source file:com.sdl.odata.renderer.json.writer.JsonServiceDocumentWriter.java

/**
 * The main method for Writer./*from  w ww.j  a v a2  s.  c  o  m*/
 * It builds the service root document according to spec.
 *
 * @return output in json
 * @throws ODataRenderException If unable to render the json service document
 */
public String buildJson() throws ODataRenderException {
    LOG.debug("Start building Json service root document");
    try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {
        JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(stream, JsonEncoding.UTF8);
        jsonGenerator.writeStartObject();
        jsonGenerator.writeStringField(CONTEXT, getContextURL(uri, entityDataModel));
        jsonGenerator.writeArrayFieldStart(VALUE);

        List<EntitySet> entities = entityDataModel.getEntityContainer().getEntitySets();
        for (EntitySet entity : entities) {
            if (entity.isIncludedInServiceDocument()) {
                writeObject(jsonGenerator, entity);
            }
        }

        List<Singleton> singletons = entityDataModel.getEntityContainer().getSingletons();
        for (Singleton singleton : singletons) {
            writeObject(jsonGenerator, singleton);
        }

        jsonGenerator.writeEndArray();
        jsonGenerator.writeEndObject();
        jsonGenerator.close();
        return stream.toString(StandardCharsets.UTF_8.name());
    } catch (IOException e) {
        throw new ODataRenderException("It is unable to render service document", e);
    }
}

From source file:com.joliciel.jochre.search.highlight.Snippet.java

public void toJson(JsonGenerator jsonGen, DecimalFormat df) {
    try {//from w  ww. j  av  a2  s  . co  m
        jsonGen.writeStartObject();
        jsonGen.writeNumberField("docId", docId);
        jsonGen.writeStringField("field", this.getField());
        jsonGen.writeNumberField("start", this.getStartOffset());
        jsonGen.writeNumberField("end", this.getEndOffset());
        double roundedScore = df.parse(df.format(this.getScore())).doubleValue();
        jsonGen.writeNumberField("score", roundedScore);
        jsonGen.writeArrayFieldStart("terms");
        for (HighlightTerm term : this.getHighlightTerms()) {
            term.toJson(jsonGen, df);
        }
        jsonGen.writeEndArray(); // terms

        jsonGen.writeEndObject();
        jsonGen.flush();
    } catch (java.text.ParseException e) {
        LogUtils.logError(LOG, e);
        throw new RuntimeException(e);
    } catch (IOException ioe) {
        LogUtils.logError(LOG, ioe);
        throw new RuntimeException(ioe);
    }
}

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();//  www  . j  av  a2s.  com

    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());
}