List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndObject
public abstract void writeEndObject() throws IOException, JsonGenerationException;
From source file:com.arpnetworking.logback.serialization.ArraySerialziationStrategy.java
/** * Serialize an event.// www.j a va 2 s. c o m * * @param event The event. * @param eventName The event name. * @param keys The message keys. * @param values The message values. * @return Serialization of message as a <code>String</code>. */ public String serialize(final ILoggingEvent event, final String eventName, final String[] keys, final Object[] values) { final StringWriter jsonWriter = new StringWriter(); try { final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter); // Start wrapper startStenoWrapper(event, eventName, jsonGenerator, _objectMapper); // Write event data jsonGenerator.writeObjectFieldStart("data"); final int argsLength = values == null ? 0 : values.length; if (keys != null) { for (int i = 0; i < keys.length; i++) { if (i >= argsLength) { jsonGenerator.writeObjectField(keys[i], null); } else if (isSimpleType(values[i])) { jsonGenerator.writeObjectField(keys[i], values[i]); } else { jsonGenerator.writeFieldName(keys[i]); _objectMapper.writeValue(jsonGenerator, values[i]); } } } jsonGenerator.writeEndObject(); // End 'data' field // 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:org.springframework.data.couchbase.core.convert.translation.JacksonTranslationService.java
/** * Recursively iterates through the sources and adds it to the JSON generator. * * @param source the source document/*from ww w . j a v a2s . c om*/ * @param generator the JSON generator. * * @throws IOException */ private void encodeRecursive(final CouchbaseStorable source, final JsonGenerator generator) throws IOException { generator.writeStartObject(); for (Map.Entry<String, Object> entry : ((CouchbaseDocument) source).export().entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); generator.writeFieldName(key); if (value instanceof CouchbaseDocument) { encodeRecursive((CouchbaseDocument) value, generator); continue; } final Class<?> clazz = value.getClass(); if (simpleTypeHolder.isSimpleType(clazz) && !isEnumOrClass(clazz)) { generator.writeObject(value); } else { objectMapper.writeValue(generator, value); } } generator.writeEndObject(); }
From source file:net.opentsdb.tree.Branch.java
/** * Returns serialized data for the branch to put in storage. This is necessary * to reduce storage space and for proper CAS calls * @return A byte array for storage//from w ww .j a va 2 s . co m */ private byte[] toStorageJson() { // grab some memory to avoid reallocs final ByteArrayOutputStream output = new ByteArrayOutputStream( (display_name.length() * 2) + (path.size() * 128)); try { final JsonGenerator json = JSON.getFactory().createGenerator(output); json.writeStartObject(); // we only need to write a small amount of information json.writeObjectField("path", path); json.writeStringField("displayName", display_name); json.writeEndObject(); json.close(); // TODO zero copy? return output.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:things.thing.ThingSerializer.java
@Override public void serialize(Thing thing, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();//from w w w.j a v a2s. c om if (!Strings.isNullOrEmpty(thing.getId())) { jgen.writeStringField("id", thing.getId()); } jgen.writeStringField("key", thing.getKey()); jgen.writeStringField("type", thing.getThingType()); if (!thing.getValueIsPopulated()) { throw new ThingRuntimeException("Thing " + thing.getId() + " not populated"); } jgen.writeObjectField("value", thing.getValue()); // List<String> ids = thing.getOtherThings(); // // if ( ids.size() > 0 ) { // jgen.writeArrayFieldStart("otherThings"); // for (String id : ids) { // jgen.writeString(id); // } // jgen.writeEndArray(); // // } jgen.writeEndObject(); }
From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java
/** * Write the CRS in the geojson/*from ww w .ja va 2s. c om*/ * * @param jsonGenerator * @param authorityAndSRID * @throws IOException */ private void writeCRS(JsonGenerator jsonGenerator, String[] authorityAndSRID) throws IOException { if (authorityAndSRID[1] != null) { jsonGenerator.writeObjectFieldStart("crs"); jsonGenerator.writeStringField("type", "name"); jsonGenerator.writeObjectFieldStart("properties"); StringBuilder sb = new StringBuilder("urn:ogc:def:crs:"); sb.append(authorityAndSRID[0]).append("::").append(authorityAndSRID[1]); jsonGenerator.writeStringField("name", sb.toString()); jsonGenerator.writeEndObject(); jsonGenerator.writeEndObject(); } }
From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java
private void writeJsonNodeObjectifiedObject(JsonGenerator jg, Node term, Label annotationLabel, List<Long> dataSetsId) 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.writeStartObject(); // { for (Long dataSetId : dataSetsId) { jg.writeBooleanField(dataSetId.toString(), true); // 123 }//from w ww .j a v a2 s.c o m jg.writeEndObject(); // } writeJsonNodeObjectifiedObjectParents(jg, term, annotationLabel); jg.writeEndObject(); // } }
From source file:com.ntsync.shared.RawContact.java
private static void writeImList(JsonGenerator g, List<RawImData> list) throws IOException { if (list != null) { g.writeArrayFieldStart(ContactConstants.IM); for (RawImData listItem : list) { g.writeStartObject();/*from ww w . java 2s . c om*/ writeField(g, ContactConstants.DATA, listItem.getData()); g.writeStringField(ContactConstants.TYPE, String.valueOf(listItem.getType().getVal())); writeField(g, ContactConstants.LABEL, listItem.getLabel()); g.writeStringField(ContactConstants.PROTOCOL_TYPE, String.valueOf(listItem.getProtType().getVal())); writeField(g, ContactConstants.PROTOCOL_CUSTOM_PROT, listItem.getCustomProtocolName()); if (listItem.isSuperPrimary()) { g.writeBooleanField(ContactConstants.SUPERPRIMARY, true); } if (listItem.isPrimary()) { g.writeBooleanField(ContactConstants.PRIMARY, true); } g.writeEndObject(); } g.writeEndArray(); } }
From source file:eu.project.ttc.models.index.JsonTermIndexIO.java
public static void save(Writer writer, TermIndex termIndex, JsonOptions options) throws IOException { JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory // jsonFactory.configure(f, state) JsonGenerator jg = jsonFactory.createGenerator(writer); // or Stream, Reader jg.useDefaultPrettyPrinter();/*from w ww. j ava 2s.c om*/ jg.writeStartObject(); jg.writeFieldName(METADATA); jg.writeStartObject(); jg.writeFieldName(NAME); jg.writeString(termIndex.getName()); jg.writeFieldName(LANG); jg.writeString(termIndex.getLang().getCode()); if (termIndex.getCorpusId() != null) { jg.writeFieldName(CORPUS_ID); jg.writeString(termIndex.getCorpusId()); } jg.writeFieldName(OCCURRENCE_STORAGE); if (options.isMongoDBOccStore()) { jg.writeString(OCCURRENCE_STORAGE_MONGODB); jg.writeFieldName(OCCURRENCE_MONGODB_STORE_URI); jg.writeString(options.getMongoDBOccStore()); } else if (options.isEmbeddedOccurrences()) jg.writeString(OCCURRENCE_STORAGE_EMBEDDED); else throw new IllegalStateException("Unknown storage mode"); jg.writeFieldName(NB_WORD_ANNOTATIONS); jg.writeNumber(termIndex.getWordAnnotationsNum()); jg.writeFieldName(NB_SPOTTED_TERMS); jg.writeNumber(termIndex.getSpottedTermsNum()); jg.writeEndObject(); jg.writeFieldName(INPUT_SOURCES); int idCnt = 0; Map<String, Integer> inputSources = Maps.newTreeMap(); for (Document d : termIndex.getDocuments()) if (!inputSources.containsKey(d.getUrl())) inputSources.put(d.getUrl(), ++idCnt); jg.writeStartObject(); for (String uri : inputSources.keySet()) { jg.writeFieldName(inputSources.get(uri).toString()); jg.writeString(uri); } jg.writeEndObject(); jg.writeFieldName(WORDS); jg.writeStartArray(); for (Word w : termIndex.getWords()) { jg.writeStartObject(); jg.writeFieldName(LEMMA); jg.writeString(w.getLemma()); jg.writeFieldName(STEM); jg.writeString(w.getStem()); if (w.isCompound()) { jg.writeFieldName(COMPOUND_TYPE); jg.writeString(w.getCompoundType().name()); jg.writeFieldName(COMPONENTS); jg.writeStartArray(); for (Component c : w.getComponents()) { jg.writeStartObject(); jg.writeFieldName(LEMMA); jg.writeString(c.getLemma()); jg.writeFieldName(BEGIN); jg.writeNumber(c.getBegin()); jg.writeFieldName(END); jg.writeNumber(c.getEnd()); jg.writeEndObject(); } jg.writeEndArray(); } jg.writeEndObject(); } jg.writeEndArray(); Set<TermVariation> termVariations = Sets.newHashSet(); jg.writeFieldName(TERMS); jg.writeStartArray(); for (Term t : termIndex.getTerms()) { termVariations.addAll(t.getVariations()); jg.writeStartObject(); jg.writeFieldName(ID); jg.writeNumber(t.getId()); jg.writeFieldName(RANK); jg.writeNumber(t.getRank()); jg.writeFieldName(GROUPING_KEY); jg.writeString(t.getGroupingKey()); jg.writeFieldName(WORDS); jg.writeStartArray(); for (TermWord tw : t.getWords()) { jg.writeStartObject(); jg.writeFieldName(SYN); jg.writeString(tw.getSyntacticLabel()); jg.writeFieldName(LEMMA); jg.writeString(tw.getWord().getLemma()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeFieldName(FREQUENCY); jg.writeNumber(t.getFrequency()); jg.writeFieldName(FREQ_NORM); jg.writeNumber(t.getFrequencyNorm()); jg.writeFieldName(GENERAL_FREQ_NORM); jg.writeNumber(t.getGeneralFrequencyNorm()); jg.writeFieldName(SPECIFICITY); jg.writeNumber(t.getSpecificity()); jg.writeFieldName(SPOTTING_RULE); jg.writeString(t.getSpottingRule()); if (options.withOccurrences() && options.isEmbeddedOccurrences()) { jg.writeFieldName(OCCURRENCES); jg.writeStartArray(); for (TermOccurrence termOcc : t.getOccurrences()) { jg.writeStartObject(); jg.writeFieldName(BEGIN); jg.writeNumber(termOcc.getBegin()); jg.writeFieldName(END); jg.writeNumber(termOcc.getEnd()); jg.writeFieldName(TEXT); jg.writeString(termOcc.getCoveredText()); jg.writeFieldName(FILE); jg.writeNumber(inputSources.get(termOcc.getSourceDocument().getUrl())); jg.writeEndObject(); } jg.writeEndArray(); } if (options.isWithContexts() && t.isContextVectorComputed()) { jg.writeFieldName(CONTEXT); jg.writeStartObject(); jg.writeFieldName(TOTAL_COOCCURRENCES); jg.writeNumber(t.getContextVector().getTotalCoccurrences()); jg.writeFieldName(CO_OCCURRENCES); jg.writeStartArray(); if (t.isContextVectorComputed()) { for (ContextVector.Entry contextEntry : t.getContextVector().getEntries()) { jg.writeStartObject(); jg.writeFieldName(CO_TERM); jg.writeString(contextEntry.getCoTerm().getGroupingKey()); jg.writeFieldName(NB_COCCS); jg.writeNumber(contextEntry.getNbCooccs()); jg.writeFieldName(ASSOC_RATE); jg.writeNumber(contextEntry.getAssocRate()); jg.writeEndObject(); } } jg.writeEndArray(); jg.writeEndObject(); } jg.writeEndObject(); } jg.writeEndArray(); /* Variants */ jg.writeFieldName(TERM_VARIATIONS); jg.writeStartArray(); for (TermVariation v : termVariations) { jg.writeStartObject(); jg.writeFieldName(BASE); jg.writeString(v.getBase().getGroupingKey()); jg.writeFieldName(VARIANT); jg.writeString(v.getVariant().getGroupingKey()); jg.writeFieldName(VARIANT_TYPE); jg.writeString(v.getVariationType().getShortName()); jg.writeFieldName(INFO); jg.writeString(v.getInfo().toString()); jg.writeFieldName(VARIANT_SCORE); jg.writeNumber(v.getScore()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeEndObject(); jg.close(); }
From source file:io.klerch.alexa.state.model.serializer.AlexaStateSerializer.java
@Override public void serialize(AlexaStateModel alexaStateModel, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartObject();/*from w ww. j a v a2 s . co m*/ { final AlexaScope scope = (AlexaScope) serializerProvider.getAttribute(scopeAttributeKey); jsonGenerator.writeObjectField("id", alexaStateModel.getId()); // look for statesave fields in model if not already whole class is statesave for (final Field field : alexaStateModel.getSaveStateFields(scope)) { final String fieldName = field.getName(); Object fieldValue; try { fieldValue = alexaStateModel.get(field); } catch (AlexaStateException e) { // wrap custom exception with expected IOException throw new IOException("Could not get value of field " + fieldName, e); } jsonGenerator.writeObjectField(fieldName, fieldValue); } } jsonGenerator.writeEndObject(); }
From source file:org.talend.daikon.exception.TalendRuntimeException.java
/** * Describe this error in json into the given writer. * //from w w w . j av a 2 s . co m * @param writer where to write this error. */ public void writeTo(Writer writer) { try { JsonGenerator generator = (new JsonFactory()).createGenerator(writer); generator.writeStartObject(); { generator.writeStringField("code", //$NON-NLS-1$ code.getProduct() + '_' + code.getGroup() + '_' + code.getCode()); generator.writeStringField("message", code.getCode()); //$NON-NLS-1$ if (cause != null) { generator.writeStringField("cause", cause.getMessage()); //$NON-NLS-1$ } if (context != null) { generator.writeFieldName("context"); //$NON-NLS-1$ generator.writeStartObject(); for (Map.Entry<String, Object> entry : context.entries()) { generator.writeStringField(entry.getKey(), entry.getValue().toString()); } generator.writeEndObject(); } } generator.writeEndObject(); generator.flush(); } catch (IOException e) { LOGGER.error("Unable to write exception to " + writer + ".", e); } }