List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
From source file:piazza.services.ingest.util.GeoJsonSerializer.java
private void writeMultiLineString(JsonGenerator jgen, MultiLineString value) throws IOException { jgen.writeStartObject();//from w ww . j a v a 2 s.com jgen.writeStringField("type", "MultiLineString"); jgen.writeArrayFieldStart("coordinates"); for (int i = 0; i != value.getNumGeometries(); ++i) { writeLineStringCoords(jgen, (LineString) value.getGeometryN(i)); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:org.pentaho.metaverse.impl.model.kettle.json.AbstractMetaJsonSerializer.java
protected void serializeVariables(T meta, JsonGenerator json) throws IOException { json.writeArrayFieldStart(JSON_PROPERTY_VARIABLES); List<String> variables = getUsedVariables(meta); if (variables != null) { for (String param : variables) { ParamInfo paramInfo = new ParamInfo(param, meta.getVariable(param)); json.writeObject(paramInfo); }//from w ww. j av a 2 s. c om } json.writeEndArray(); }
From source file:io.debezium.document.JacksonWriter.java
protected void writeArray(Array array, JsonGenerator generator) throws IOException { generator.writeStartArray();/* ww w. j a va2 s.c o m*/ try { array.streamValues().forEach((value) -> { try { writeValue(value, generator); } catch (IOException e) { throw new WritingError(e); } }); generator.writeEndArray(); } catch (WritingError e) { throw e.wrapped(); } }
From source file:com.googlecode.wickedcharts.highcharts.jackson.CenterSerializer.java
@Override public void serialize(final Center value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartArray();/* w w w .j a va2 s .c o m*/ if (value.getUnit() == Unit.PERCENT) { String x = String.valueOf(value.getX()) + "%"; String y = String.valueOf(value.getY()) + "%"; jgen.writeString(x); jgen.writeString(y); } else { jgen.writeNumber(value.getX()); jgen.writeNumber(value.getY()); } jgen.writeEndArray(); }
From source file:io.gravitee.definition.jackson.datatype.api.ser.FailoverSerializer.java
@Override public void serialize(Failover failover, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();//from w w w . j a v a 2 s. c o m // Max attempts jgen.writeNumberField("maxAttempts", failover.getMaxAttempts()); // Retry timeout jgen.writeNumberField("retryTimeout", failover.getRetryTimeout()); // Error cases jgen.writeArrayFieldStart("cases"); for (FailoverCase failoverCase : failover.getCases()) { jgen.writeString(failoverCase.name()); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:javasnack.snacks.json.PojoEncodeJackson.java
@Override public void run() { ObjectMapper objectMapper = new ObjectMapper(); try {/*from ww w . j a va 2s .c om*/ String jsonout = objectMapper.writeValueAsString(new EncodePojo()); System.out.println("--- simple jackson encode ---"); System.out.println(jsonout); String jsonout2 = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(new EncodePojo()); System.out.println("--- default pretty-print jackson encode ---"); System.out.println(jsonout2); System.out.println("--- streaming jackson encode ---"); JsonFactory jsonFactory = objectMapper.getFactory(); Writer out = new OutputStreamWriter(System.out); JsonGenerator jg = jsonFactory.createGenerator(out); jg.setPrettyPrinter(new DefaultPrettyPrinter()); jg.writeStartObject(); jg.writeStringField("message", "success"); jg.writeNumberField("count", 10); jg.writeArrayFieldStart("records"); for (int i = 0; i < 10; i++) { jg.writeObject(new EncodePojo()); Thread.sleep(100); jg.flush(); } jg.writeEndArray(); jg.writeEndObject(); jg.close(); } catch (JsonProcessingException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.sdl.odata.renderer.json.writer.JsonPropertyWriter.java
private void processData(Object data, StructuredType type, JsonGenerator generator) throws IllegalAccessException, IOException, ODataException { if (isCollection(data)) { LOG.debug("Given property is collection of complex values"); generator.writeStartArray();/* w w w .j a v a 2 s. c om*/ for (Object obj : (List) data) { writeAllProperties(obj, type, generator); } generator.writeEndArray(); } else { LOG.debug("Given property is single complex value"); writeAllProperties(data, type, generator); } }
From source file:com.netflix.spectator.tdigest.TDigestWriter.java
/** * Write a list of measurements to some underlying storage. *///from w w w.j ava 2 s.c o m void write(List<TDigestMeasurement> measurements) throws IOException { JsonGenerator gen = json.newGenerator(out); gen.writeStartArray(); gen.flush(); int pos = buf.position(); for (TDigestMeasurement m : measurements) { json.encode(commonTags, m, gen); gen.flush(); if (out.overflow()) { // Ignore the last entry written to the buffer out.setPosition(pos); gen.writeEndArray(); gen.close(); write(buf); // Reuse the buffer and write the current entry out.reset(); gen = json.newGenerator(out); gen.writeStartArray(); json.encode(commonTags, m, gen); gen.flush(); // If a single entry is too big, then drop it if (out.overflow()) { LOGGER.warn("dropping measurement {}, serialized size exceeds the buffer cap", m.id()); out.reset(); gen = json.newGenerator(out); gen.writeStartArray(); gen.flush(); } pos = buf.position(); } else if (buf.remaining() < MIN_FREE) { // Not enough free-space, go ahead and write gen.writeEndArray(); gen.close(); write(buf); // Reuse the buffer out.reset(); gen = json.newGenerator(out); gen.writeStartArray(); gen.flush(); pos = buf.position(); } else { pos = buf.position(); } } // Write any data that is still in the buffer if (buf.position() > 1) { gen.writeEndArray(); gen.close(); write(buf); } }
From source file:org.lambdamatic.internal.elasticsearch.codec.BooleanQuerySerializer.java
@Override public void serialize(final BooleanQuery booleanQuery, final JsonGenerator generator, final SerializerProvider serializers) throws IOException, JsonProcessingException { // if the booleanQuery does not contain other boolean queries in its elements, just write the // elements as an array if (!containsBooleanQueries(booleanQuery)) { generator.writeStartArray();//from www . j a va 2 s. c o m for (Query query : booleanQuery.getQueries()) { generator.writeObject(query); } generator.writeEndArray(); } else { // otherwise... generator.writeStartObject(); generator.writeObjectFieldStart("bool"); switch (booleanQuery.getType()) { case AND: // TODO: also support 'must_not' if the query is inverted. generator.writeArrayFieldStart("must"); for (Query query : booleanQuery.getQueries()) { generator.writeObject(query); } generator.writeEndArray(); // end of 'must' break; case OR: generator.writeArrayFieldStart("should"); for (Query query : booleanQuery.getQueries()) { generator.writeObject(query); } generator.writeEndArray();// end of 'should' break; default: throw new CodecException("Unexpected boolean type:" + booleanQuery.getType()); } generator.writeEndObject(); // end of 'bool' generator.writeEndObject(); // end of root } }
From source file:com.msopentech.odatajclient.engine.data.json.GeospatialJSONHandler.java
public static void serialize(final JsonGenerator jgen, final Element node, final String type) throws IOException { final EdmSimpleType edmSimpleType = EdmSimpleType.fromValue(type); if (edmSimpleType.equals(EdmSimpleType.GeographyCollection) || edmSimpleType.equals(EdmSimpleType.GeometryCollection)) { jgen.writeStringField(ODataConstants.ATTR_TYPE, EdmSimpleType.GeometryCollection.name()); } else {/*from www . j a v a 2 s . c o m*/ final int yIdx = edmSimpleType.name().indexOf('y'); final String itemType = edmSimpleType.name().substring(yIdx + 1); jgen.writeStringField(ODataConstants.ATTR_TYPE, itemType); } Element root = null; switch (edmSimpleType) { case GeographyPoint: case GeometryPoint: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_POINT).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); serializePoint(jgen, XMLUtils.getChildElements(root, ODataConstants.ELEM_POS).get(0)); jgen.writeEndArray(); break; case GeographyMultiPoint: case GeometryMultiPoint: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_MULTIPOINT).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); final List<Element> pMembs = XMLUtils.getChildElements(root, ODataConstants.ELEM_POINTMEMBERS); if (pMembs != null && !pMembs.isEmpty()) { for (Element point : XMLUtils.getChildElements(pMembs.get(0), ODataConstants.ELEM_POINT)) { jgen.writeStartArray(); serializePoint(jgen, XMLUtils.getChildElements(point, ODataConstants.ELEM_POS).get(0)); jgen.writeEndArray(); } } jgen.writeEndArray(); break; case GeographyLineString: case GeometryLineString: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_LINESTRING).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); serializeLineString(jgen, root); jgen.writeEndArray(); break; case GeographyMultiLineString: case GeometryMultiLineString: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_MULTILINESTRING).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); final List<Element> lMembs = XMLUtils.getChildElements(root, ODataConstants.ELEM_LINESTRINGMEMBERS); if (lMembs != null && !lMembs.isEmpty()) { for (Element lineStr : XMLUtils.getChildElements(lMembs.get(0), ODataConstants.ELEM_LINESTRING)) { jgen.writeStartArray(); serializeLineString(jgen, lineStr); jgen.writeEndArray(); } } jgen.writeEndArray(); break; case GeographyPolygon: case GeometryPolygon: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_POLYGON).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); serializePolygon(jgen, root); jgen.writeEndArray(); break; case GeographyMultiPolygon: case GeometryMultiPolygon: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_MULTIPOLYGON).get(0); jgen.writeArrayFieldStart(ODataConstants.JSON_COORDINATES); final List<Element> mpMembs = XMLUtils.getChildElements(root, ODataConstants.ELEM_SURFACEMEMBERS); if (mpMembs != null & !mpMembs.isEmpty()) { for (Element pol : XMLUtils.getChildElements(mpMembs.get(0), ODataConstants.ELEM_POLYGON)) { jgen.writeStartArray(); serializePolygon(jgen, pol); jgen.writeEndArray(); } } jgen.writeEndArray(); break; case GeographyCollection: case GeometryCollection: root = XMLUtils.getChildElements(node, ODataConstants.ELEM_GEOCOLLECTION).get(0); final List<Element> cMembs = XMLUtils.getChildElements(root, ODataConstants.ELEM_GEOMEMBERS); if (cMembs != null && !cMembs.isEmpty()) { jgen.writeArrayFieldStart(ODataConstants.JSON_GEOMETRIES); for (Node geom : XMLUtils.getChildNodes(cMembs.get(0), Node.ELEMENT_NODE)) { try { final DocumentBuilder builder = ODataConstants.DOC_BUILDER_FACTORY.newDocumentBuilder(); final Document doc = builder.newDocument(); final Element fakeParent = doc.createElementNS(ODataConstants.NS_DATASERVICES, ODataConstants.PREFIX_DATASERVICES + "fake"); fakeParent.appendChild(doc.importNode(geom, true)); final EdmSimpleType callAsType = XMLUtils.simpleTypeForNode( edmSimpleType == EdmSimpleType.GeographyCollection ? Geospatial.Dimension.GEOGRAPHY : Geospatial.Dimension.GEOMETRY, geom); jgen.writeStartObject(); serialize(jgen, fakeParent, callAsType.toString()); jgen.writeEndObject(); } catch (Exception e) { LOG.warn("While serializing {}", XMLUtils.getSimpleName(geom), e); } } jgen.writeEndArray(); } break; default: } if (root != null) { serializeCrs(jgen, root); } }