List of usage examples for com.fasterxml.jackson.core JsonGenerator writeFieldName
public abstract void writeFieldName(SerializableString name) throws IOException, JsonGenerationException;
From source file:com.sdl.odata.renderer.json.writer.JsonPropertyWriter.java
private void handleProperty(Object data, StructuralProperty property, JsonGenerator generator) throws IllegalAccessException, IOException, ODataException { Field field = property.getJavaField(); field.setAccessible(true);/*w w w . j a va2s . c o m*/ Object value = field.get(data); LOG.trace("Property name is '{}' and its value is '{}'", property.getName(), value); Type type = getType(value); if (type == null) { String msg = String.format("Field type %s is not found in entity data model", field.getType()); LOG.error(msg); throw new ODataRenderException(msg); } switch (type.getMetaType()) { case PRIMITIVE: generator.writeFieldName(property.getName()); writePrimitive(value, generator); break; case COMPLEX: generator.writeArrayFieldStart(property.getName()); generateComplex(value, (StructuredType) type, true); generator.writeEndArray(); break; default: defaultHandling(type); } }
From source file:com.arpnetworking.logback.serialization.ArraySerialziationStrategy.java
/** * Serialize an event.//from w w w . ja v a2s . 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:de.fraunhofer.iosb.ilt.sta.serialize.DataArrayValueSerializer.java
@Override public void serialize(DataArrayValue value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject();//from ww w .j a v a2s . c om Datastream datastream = value.getDatastream(); if (datastream != null) { gen.writeStringField("Datastream@iot.navigationLink", datastream.getNavigationLink()); } MultiDatastream multiDatastream = value.getMultiDatastream(); if (multiDatastream != null) { gen.writeStringField("MultiDatastream@iot.navigationLink", multiDatastream.getNavigationLink()); } gen.writeObjectField("components", value.getComponents()); int count = value.getDataArray().size(); if (count >= 0) { gen.writeNumberField("dataArray@iot.count", count); } gen.writeFieldName("dataArray"); gen.writeObject(value.getDataArray()); gen.writeEndObject(); }
From source file:io.protostuff.JsonOutput.java
@Override public <T> void writeObject(final int fieldNumber, final T value, final Schema<T> schema, final boolean repeated) throws IOException { final JsonGenerator generator = this.generator; final Schema<?> lastSchema = this.schema; if (lastNumber != fieldNumber) { if (lastRepeated) generator.writeEndArray();/*ww w . ja v a 2 s . c o m*/ final String name = numeric ? Integer.toString(fieldNumber) : lastSchema.getFieldName(fieldNumber); if (repeated) generator.writeArrayFieldStart(name); else generator.writeFieldName(name); } // reset this.schema = schema; lastNumber = 0; lastRepeated = false; generator.writeStartObject(); // recursive write schema.writeTo(this, value); if (lastRepeated) generator.writeEndArray(); generator.writeEndObject(); // restore state lastNumber = fieldNumber; lastRepeated = repeated; this.schema = lastSchema; }
From source file:io.pdef.json.JsonJacksonFormat.java
private <K, V> void writeMap(@Nonnull final Map<K, V> object, final MapDescriptor<K, V> descriptor, final JsonGenerator generator) throws IOException { DataTypeDescriptor<K> keyd = descriptor.getKey(); DataTypeDescriptor<V> valued = descriptor.getValue(); generator.writeStartObject();//from w w w. j av a 2s . co m for (Map.Entry<K, V> entry : object.entrySet()) { K key = entry.getKey(); V value = entry.getValue(); if (key == null) { throw new JsonFormatException("Null map key"); } String k = objectFormat.writeMapKey(key, keyd); generator.writeFieldName(k); write(value, valued, generator); } generator.writeEndObject(); }
From source file:org.talend.dataprep.schema.csv.CSVSerializer.java
/** * Write the line content./*from w ww .java 2 s. c o m*/ * * @param reader the csv reader to use as data source. * @param metadata the dataset metadata to use to get the columns. * @param generator the json generator used to actually write the line content. * @param separator the csv separator to use. * @param limit The maximum number of lines in the exported content. * @throws IOException if an error occurs. */ private void writeLineContent(CSVReader reader, DataSetMetadata metadata, JsonGenerator generator, String separator, long limit) throws IOException { String[] line; int current = 0; while ((line = reader.readNext()) != null && withinLimit(limit, current)) { // skip empty lines if (line.length == 1 && (StringUtils.isEmpty(line[0]) || line[0].charAt(0) == '\u0000')) { continue; } List<ColumnMetadata> columns = metadata.getRowMetadata().getColumns(); generator.writeStartObject(); int columnsSize = columns.size(); for (int i = 0; i < columnsSize; i++) { ColumnMetadata columnMetadata = columns.get(i); generator.writeFieldName(columnMetadata.getId()); // deal with additional content (line.length > columns.size) if (i == columnsSize - 1 && line.length > columnsSize) { String additionalContent = getRemainingColumns(line, i, separator); generator.writeString(cleanCharacters(additionalContent)); } // deal with fewer content (line.length < columns.size) else if (i < line.length && line[i] != null) { generator.writeString(cleanCharacters(line[i])); } // deal with null else { generator.writeNull(); } } generator.writeEndObject(); current++; } }
From source file:org.cloudcoder.dataanalysis.ProgsnapExport.java
private void writeJsonFieldValue(JsonGenerator jg, Object value) throws IOException { if (value instanceof String) { jg.writeString((String) value); } else if (value instanceof Integer) { jg.writeNumber(((Integer) value).intValue()); } else if (value instanceof Long) { jg.writeNumber(((Long) value).longValue()); } else if (value instanceof Double) { jg.writeNumber(((Double) value).doubleValue()); } else if (value instanceof Map) { jg.writeStartObject();/*from www .j a v a 2s . c om*/ for (Map.Entry<?, ?> entry : ((Map<?, ?>) value).entrySet()) { jg.writeFieldName(entry.getKey().toString()); writeJsonFieldValue(jg, entry.getValue()); } jg.writeEndObject(); } else if (value instanceof Boolean) { jg.writeBoolean(((Boolean) value).booleanValue()); } else { throw new IllegalArgumentException( "Don't know how to encode " + value.getClass().getSimpleName() + " as JSON value"); } }
From source file:com.unboundid.scim2.common.utils.JsonRefBeanSerializer.java
/** * {@inheritDoc}/*ww w. ja va 2 s .com*/ */ @Override public void serialize(final Object value, final JsonGenerator gen, final SerializerProvider serializers) throws IOException { Class<?> clazz = value.getClass(); try { gen.writeStartObject(); Collection<PropertyDescriptor> propertyDescriptors = SchemaUtils.getPropertyDescriptors(clazz); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { Field field = SchemaUtils.findField(clazz, propertyDescriptor.getName()); if (field == null) { continue; } field.setAccessible(true); Object obj = field.get(value); if (obj instanceof JsonReference) { JsonReference<?> reference = (JsonReference<?>) obj; if (reference.isSet()) { gen.writeFieldName(field.getName()); serializers.defaultSerializeValue(reference.getObj(), gen); } } } gen.writeEndObject(); } catch (IntrospectionException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } }
From source file:io.protostuff.JsonOutput.java
@Override public void writeByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field if (utf8String) generator.writeUTF8String(value, offset, length); else/*w w w.j a v a 2 s .c o m*/ generator.writeBinary(value, offset, length); return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); if (utf8String) generator.writeUTF8String(value, offset, length); else generator.writeBinary(value, offset, length); } else { generator.writeFieldName(name); if (utf8String) generator.writeUTF8String(value, offset, length); else generator.writeBinary(value, offset, length); } lastNumber = fieldNumber; lastRepeated = repeated; }
From source file:gr.abiss.calipso.uischema.serializer.UiSchemaSerializer.java
@Override public void serialize(UiSchema schema, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { try {//w w w .j a v a 2 s .c o m Class domainClass = schema.getDomainClass(); if (null == domainClass) { throw new RuntimeException("formSchema has no domain class set"); } else { // start json jgen.writeStartObject(); // write superclass hint ModelResource superResource = (ModelResource) domainClass.getSuperclass() .getAnnotation(ModelResource.class); if (superResource != null) { jgen.writeFieldName("superPathFragment"); jgen.writeString(superResource.path()); } // write pathFragment ModelResource modelResource = (ModelResource) domainClass.getAnnotation(ModelResource.class); jgen.writeFieldName("pathFragment"); jgen.writeString(modelResource.path()); // write simple class name jgen.writeFieldName("simpleClassName"); jgen.writeString(domainClass.getSimpleName()); // start fields jgen.writeFieldName("fields"); jgen.writeStartObject(); PropertyDescriptor[] descriptors = new PropertyUtilsBean().getPropertyDescriptors(domainClass); for (int i = 0; i < descriptors.length; i++) { PropertyDescriptor descriptor = descriptors[i]; String name = descriptor.getName(); if (!ignoredFieldNames.contains(name)) { String fieldValue = this.getDataType(domainClass, descriptor, name); if (StringUtils.isNotBlank(fieldValue)) { jgen.writeFieldName(name); jgen.writeStartObject(); jgen.writeFieldName("fieldType"); jgen.writeString(fieldValue); jgen.writeEndObject(); } } } // end fields jgen.writeEndObject(); // end json jgen.writeEndObject(); } } catch (Exception e) { new RuntimeException("Failed serializing form schema", e); } }