List of usage examples for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart
public final void writeArrayFieldStart(String fieldName) throws IOException, JsonGenerationException
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 w w w .j ava2 s . c om 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); } }
From source file:net.logstash.logback.composite.loggingevent.TagsJsonProvider.java
@SuppressWarnings("deprecation") private boolean writeTagIfNecessary(JsonGenerator generator, boolean hasWrittenStart, final Marker marker) throws IOException { if (!marker.getName().equals(JsonMessageJsonProvider.JSON_MARKER_NAME) && !LogstashMarkersJsonProvider.isLogstashMarker(marker)) { if (!hasWrittenStart) { generator.writeArrayFieldStart(getFieldName()); hasWrittenStart = true;//w w w . ja va 2 s .c o m } generator.writeString(marker.getName()); } if (marker.hasReferences()) { for (Iterator<?> i = marker.iterator(); i.hasNext();) { Marker next = (Marker) i.next(); hasWrittenStart |= writeTagIfNecessary(generator, hasWrittenStart, next); } } return hasWrittenStart; }
From source file:com.sdl.odata.renderer.json.writer.JsonServiceDocumentWriter.java
/** * The main method for Writer.//from w w w. j a va2 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:org.pentaho.metaverse.impl.model.kettle.json.AbstractStepMetaJsonSerializer.java
protected void writeFieldMappings(T meta, JsonGenerator json, SerializerProvider serializerProvider) throws IOException { json.writeArrayFieldStart(JSON_PROPERTY_MAPPINGS); IFieldLineageMetadataProvider mapper = getFieldLineageMetadataProvider(meta); try {//from ww w . ja v a2 s. c o m Set<IFieldMapping> fieldMappings = mapper.getFieldMappings(meta); if (fieldMappings != null) { for (IFieldMapping fieldMapping : fieldMappings) { json.writeObject(fieldMapping); } } } catch (MetaverseAnalyzerException e) { LOGGER.warn(Messages.getString("WARNING.Serialization.Step.WriteFieldMappings", meta.getParentStepMeta().getName()), e); } json.writeEndArray(); }
From source file:net.opentsdb.contrib.tsquare.web.view.GraphiteJsonResponseWriter.java
@Override public void write(final AnnotatedDataPoints annotatedPoints, final ResponseContext context) throws IOException { final JsonGenerator jsonGenerator = getJsonGenerator(context); jsonGenerator.writeStartObject();/* ww w . ja va 2s . c o m*/ jsonGenerator.writeStringField("target", annotatedPoints.getDataPoints().metricName()); if (includeAllTags) { jsonGenerator.writeArrayFieldStart("tags"); for (final Map.Entry<String, String> entry : annotatedPoints.getDataPoints().getTags().entrySet()) { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("key", entry.getKey()); jsonGenerator.writeStringField("value", entry.getValue()); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); } if (includeAggregatedTags) { jsonGenerator.writeArrayFieldStart("aggregatedTags"); for (final String tag : annotatedPoints.getDataPoints().getAggregatedTags()) { jsonGenerator.writeString(tag); } jsonGenerator.writeEndArray(); } if (summarize) { final DataPointsAsDoubles doubles = new DataPointsAsDoubles(annotatedPoints.getDataPoints()); final double aggValue = Aggregators.SUM.runDouble(doubles); jsonGenerator.writeNumberField("summarizedValue", aggValue); } else { jsonGenerator.writeArrayFieldStart("datapoints"); for (final DataPoint p : annotatedPoints.getDataPoints()) { jsonGenerator.writeStartArray(); if (p.isInteger()) { jsonGenerator.writeNumber(p.longValue()); } else { jsonGenerator.writeNumber(p.doubleValue()); } if (isMillisecondResolution()) { jsonGenerator.writeNumber(p.timestamp()); } else { jsonGenerator.writeNumber(TimeUnit.MILLISECONDS.toSeconds(p.timestamp())); } jsonGenerator.writeEndArray(); } jsonGenerator.writeEndArray(); } jsonGenerator.writeEndObject(); }
From source file:org.pentaho.metaverse.impl.model.kettle.json.AbstractStepMetaJsonSerializer.java
protected void writeFields(JsonGenerator json, List<RowMetaInterface> fieldMetaList, String arrayObjectName) throws IOException { json.writeArrayFieldStart(arrayObjectName); for (RowMetaInterface fields : fieldMetaList) { List<ValueMetaInterface> valueMetaInterfaces = fields.getValueMetaList(); for (ValueMetaInterface valueMetaInterface : valueMetaInterfaces) { FieldInfo fieldInfo = new FieldInfo(valueMetaInterface); json.writeObject(fieldInfo); }//www . j a va 2 s .c o m } json.writeEndArray(); }
From source file:com.googlecode.jmxtrans.model.output.LibratoWriter.java
private void serialize(Server server, Query query, List<Result> results, OutputStream outputStream) throws IOException { JsonGenerator g = jsonFactory.createGenerator(outputStream, JsonEncoding.UTF8); g.writeStartObject();// w w w. j av a 2s. co m g.writeArrayFieldStart("counters"); g.writeEndArray(); String source = getSource(server); g.writeArrayFieldStart("gauges"); List<String> typeNames = getTypeNames(); for (Result result : results) { Map<String, Object> resultValues = result.getValues(); for (Map.Entry<String, Object> values : resultValues.entrySet()) { if (isNumeric(values.getValue())) { g.writeStartObject(); g.writeStringField("name", KeyUtils.getKeyString(query, result, values, typeNames)); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", TimeUnit.SECONDS.convert(result.getEpoch(), TimeUnit.MILLISECONDS)); Object value = values.getValue(); if (value instanceof Integer) { g.writeNumberField("value", (Integer) value); } else if (value instanceof Long) { g.writeNumberField("value", (Long) value); } else if (value instanceof Float) { g.writeNumberField("value", (Float) value); } else if (value instanceof Double) { g.writeNumberField("value", (Double) value); } g.writeEndObject(); } } } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); }
From source file:org.apache.arrow.vector.ipc.JsonFileWriter.java
private void writeDictionaryBatches(JsonGenerator generator, Set<Long> dictionaryIdsUsed, DictionaryProvider provider) throws IOException { generator.writeArrayFieldStart("dictionaries"); for (Long id : dictionaryIdsUsed) { generator.writeStartObject();//ww w . j av a 2s.c om generator.writeObjectField("id", id); generator.writeFieldName("data"); Dictionary dictionary = provider.lookup(id); FieldVector vector = dictionary.getVector(); List<Field> fields = ImmutableList.of(vector.getField()); List<FieldVector> vectors = ImmutableList.of(vector); VectorSchemaRoot root = new VectorSchemaRoot(fields, vectors, vector.getValueCount()); writeBatch(root); generator.writeEndObject(); } generator.writeEndArray(); }
From source file:com.strategicgains.hyperexpress.serialization.siren.jackson.SirenResourceSerializer.java
private void writeEntities(Resource resource, JsonGenerator jgen) throws JsonGenerationException, IOException { Map<String, List<Resource>> entities = resource.getResources(); if (entities == null || entities.isEmpty()) return;/* w w w . ja v a2 s . co m*/ jgen.writeArrayFieldStart(ENTITIES); for (Entry<String, List<Resource>> entry : entities.entrySet()) { for (Resource r : entry.getValue()) { jgen.writeStartObject(); jgen.writeArrayFieldStart("rel"); jgen.writeString(entry.getKey()); jgen.writeEndArray(); renderJson((SirenResource) r, jgen); jgen.writeEndObject(); } } jgen.writeEndArray(); }
From source file:org.springframework.data.elasticsearch.core.DefaultResultMapper.java
private String buildJSONFromFields(Collection<SearchHitField> values) { JsonFactory nodeFactory = new JsonFactory(); try {/*from www . j a v a 2 s . com*/ 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; } }