List of usage examples for com.fasterxml.jackson.core JsonGenerator writeObjectFieldStart
public final void writeObjectFieldStart(String fieldName) throws IOException, JsonGenerationException
From source file:com.arpnetworking.logback.serialization.BaseSerializationStrategy.java
/** * Write a <code>Throwable</code> via <code>IThrowableProxy</code> as JSON. * * @param throwableProxy Throwable to serialize * @param jsonGenerator <code>JsonGenerator</code> instance. * @param objectMapper <code>ObjectMapper</code> instance. * @throws IOException If writing JSON fails. *///from w w w .java 2s. co m protected void writeThrowable(final IThrowableProxy throwableProxy, final JsonGenerator jsonGenerator, final ObjectMapper objectMapper) throws IOException { if (throwableProxy != null) { jsonGenerator.writeObjectFieldStart("exception"); serializeThrowable(throwableProxy, jsonGenerator, objectMapper); jsonGenerator.writeEndObject(); } }
From source file:com.microsoft.azure.storage.queue.CloudQueueEncryptedMessage.java
public String serialize() throws IOException { final StringWriter strWriter = new StringWriter(); JsonGenerator generator = Utility.getJsonGenerator(strWriter); try {//from w w w. ja va 2s. co m // start object generator.writeStartObject(); // write message contents generator.writeStringField("EncryptedMessageContents", this.getEncryptedMessageContents()); // write encryption data generator.writeObjectFieldStart("EncryptionData"); this.getEncryptionData().serialize(generator); generator.writeEndObject(); // end object generator.writeEndObject(); } finally { generator.close(); } return strWriter.toString(); }
From source file:com.strategicgains.hyperexpress.serialization.jackson.HalResourceSerializer.java
private void writeLinks(HalResource resource, boolean isEmbedded, JsonGenerator jgen) throws JsonGenerationException, IOException { List<Link> links = resource.getLinks(); List<Namespace> namespaces = resource.getNamespaces(); if (links.isEmpty() && (isEmbedded || namespaces.isEmpty())) return;//from w w w .j a va 2 s.co m jgen.writeObjectFieldStart(LINKS); writeCuries(namespaces, isEmbedded, jgen); Map<String, List<HalLink>> linksByRel = indexLinksByRel(resource.getLinks()); for (Entry<String, List<HalLink>> entry : linksByRel.entrySet()) { if (entry.getValue().size() == 1 && !resource.isMultipleLinks(entry.getKey())) // Write single link { HalLink link = entry.getValue().iterator().next(); if (null == link.getTemplated()) { link.setTemplated(link.hasTemplate() ? true : null); } jgen.writeObjectField(entry.getKey(), link); } else // Write link array { jgen.writeArrayFieldStart(entry.getKey()); for (HalLink link : entry.getValue()) { if (null == link.getTemplated()) { link.setTemplated(link.hasTemplate() ? true : null); } jgen.writeObject(link); } jgen.writeEndArray(); } } jgen.writeEndObject(); }
From source file:org.codehaus.modello.plugin.jsonschema.JsonSchemaGenerator.java
private void writeClassDocumentation(JsonGenerator generator, ModelClass modelClass, boolean isRoot) throws IOException { if (!isRoot) { generator.writeObjectFieldStart(modelClass.getName()); }/*from w w w .jav a 2 s. c o m*/ generator.writeStringField("id", modelClass.getName() + '#'); writeDescriptionField(generator, modelClass.getDescription()); writeTypeField(generator, "object"); generator.writeObjectFieldStart("properties"); List<String> required = new LinkedList<String>(); ModelClass reference = modelClass; // traverse the whole modelClass hierarchy to create the nested Builder instance while (reference != null) { // collect parameters and set them in the instance object for (ModelField modelField : reference.getFields(getGeneratedVersion())) { if (modelField.isRequired()) { required.add(modelField.getName()); } // each field is represented as object generator.writeObjectFieldStart(modelField.getName()); writeDescriptionField(generator, modelField.getDescription()); if (modelField instanceof ModelAssociation) { ModelAssociation modelAssociation = (ModelAssociation) modelField; if (modelAssociation.isOneMultiplicity()) { writeTypeField(generator, modelAssociation.getType()); } else { // MANY_MULTIPLICITY writeTypeField(generator, "array"); generator.writeObjectFieldStart("items"); String type = modelAssociation.getType(); String toType = modelAssociation.getTo(); if (ModelDefault.LIST.equals(type) || ModelDefault.SET.equals(type)) { writeTypeField(generator, toType); } else { // Map or Properties writeTypeField(generator, "object"); generator.writeObjectFieldStart("properties"); XmlAssociationMetadata xmlAssociationMetadata = (XmlAssociationMetadata) modelAssociation .getAssociationMetadata(XmlAssociationMetadata.ID); if (xmlAssociationMetadata.isMapExplode()) { // key generator.writeObjectFieldStart("key"); writeTypeField(generator, "string"); generator.writeEndObject(); // value generator.writeObjectFieldStart("value"); writeTypeField(generator, toType); generator.writeEndObject(); // properties generator.writeEndObject(); // required field generator.writeArrayFieldStart("required"); generator.writeString("key"); generator.writeString("value"); generator.writeEndArray(); } else { generator.writeObjectFieldStart("*"); writeTypeField(generator, toType); generator.writeEndObject(); } } // items generator.writeEndObject(); } } else { writeTypeField(generator, modelField.getType()); } generator.writeEndObject(); } if (reference.hasSuperClass()) { reference = reference.getModel().getClass(reference.getSuperClass(), getGeneratedVersion()); } else { reference = null; } } // end of `properties` element generator.writeEndObject(); // write `required` sequence if (!required.isEmpty()) { generator.writeArrayFieldStart("required"); for (String requiredField : required) { generator.writeString(requiredField); } generator.writeEndArray(); } // end definition if (!isRoot) { generator.writeEndObject(); } }
From source file:com.attribyte.essem.es.SearchRequest.java
private void generateSort(final JsonGenerator generator) throws IOException { generator.writeArrayFieldStart("sort"); {/* w ww . ja v a 2s . co m*/ generator.writeStartObject(); { generator.writeObjectFieldStart(sortField); { generator.writeStringField("order", isAscending ? "asc" : "desc"); } generator.writeEndObject(); } generator.writeEndObject(); } generator.writeEndArray(); }
From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java
/** * Serializes a {@link NativeRequest} to JSON, with a provided {@link JsonGenerator} * which allows several choices of output and encoding. *//*from www. j a va2s .c o m*/ public final void writeNativeRequest(NativeRequest req, JsonGenerator gen) throws IOException { gen.writeStartObject(); if (factory().isRootNativeField()) { gen.writeObjectFieldStart("native"); } writeNativeRequestFields(req, gen); writeExtensions(req, gen); if (factory().isRootNativeField()) { gen.writeEndObject(); } gen.writeEndObject(); gen.flush(); }
From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java
/** * Serializes a {@link NativeResponse} to JSON, with a provided {@link JsonGenerator} * which allows several choices of output and encoding. *///from ww w .j a v a2 s . c o m public final void writeNativeResponse(NativeResponse resp, JsonGenerator gen) throws IOException { gen.writeStartObject(); if (factory().isRootNativeField()) { gen.writeObjectFieldStart("native"); } writeNativeResponseFields(resp, gen); writeExtensions(resp, gen); if (factory().isRootNativeField()) { gen.writeEndObject(); } gen.writeEndObject(); gen.flush(); }
From source file:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java
private void collectFromMessage(JsonGenerator gen, Message msg) { try {/*from w ww.jav a2 s . c o m*/ if (traceIncludesHeader) { if (msg.getHeader().getAllHeaderFields().length > 0) { gen.writeObjectFieldStart("headers"); for (HeaderField hf : msg.getHeader().getAllHeaderFields()) { gen.writeObjectField(hf.getHeaderName().toString(), hf.getValue()); } gen.writeEndObject(); } } String body = getBody(msg); if (body.length() > 0) gen.writeObjectField("body", body); } catch (IOException e) { e.printStackTrace(); } }
From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java
/** * Write a JTS geometry to its GeoJSON geometry representation. * //from w ww . j av a2 s. com * Syntax: * * "geometry":{"type": "Point", "coordinates": [102.0, 0.5]} * * @param jsonGenerator * @param geometry */ private void writeGeometry(Geometry geom, JsonGenerator gen) throws IOException { gen.writeObjectFieldStart("geometry"); if (geom instanceof Point) { write((Point) geom, gen); } else if (geom instanceof MultiPoint) { write((MultiPoint) geom, gen); } else if (geom instanceof LineString) { write((LineString) geom, gen); } else if (geom instanceof MultiLineString) { write((MultiLineString) geom, gen); } else if (geom instanceof Polygon) { write((Polygon) geom, gen); } else if (geom instanceof MultiPolygon) { write((MultiPolygon) geom, gen); } else if (geom instanceof GeometryCollection) { write((GeometryCollection) geom, gen); } else { throw new RuntimeException("Unsupported Geomery type"); } gen.writeEndObject(); }
From source file:io.gravitee.definition.jackson.datatype.api.ser.ApiSerializer.java
@Override public void serialize(Api api, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();/* w w w. j a v a 2s. c o m*/ jgen.writeStringField("id", api.getId()); jgen.writeStringField("name", api.getName()); jgen.writeObjectField("version", api.getVersion()); if (api.getProxy() != null) { jgen.writeObjectField("proxy", api.getProxy()); } if (api.getPaths() != null) { jgen.writeObjectFieldStart("paths"); api.getPaths().forEach((s, path) -> { try { jgen.writeObjectField(s, path); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndObject(); } if (api.getServices() != null && !api.getServices().isEmpty()) { jgen.writeObjectField("services", api.getServices()); } if (api.getResources() != null && !api.getResources().isEmpty()) { jgen.writeArrayFieldStart("resources"); for (Resource resource : api.getResources()) { jgen.writeObject(resource); } jgen.writeEndArray(); } if (api.getProperties() != null) { jgen.writeObjectFieldStart("properties"); api.getProperties().forEach((s, property) -> { try { jgen.writeObjectField(s, property); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndObject(); } if (api.getTags() != null && !api.getTags().isEmpty()) { jgen.writeArrayFieldStart("tags"); api.getTags().forEach(tag -> { try { jgen.writeObject(tag); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndArray(); } jgen.writeEndObject(); }