List of usage examples for com.fasterxml.jackson.core JsonGenerator writeFieldName
public abstract void writeFieldName(SerializableString name) throws IOException, JsonGenerationException;
From source file:gr.abiss.calipso.jpasearch.json.serializer.FormSchemaSerializer.java
@Override public void serialize(FormSchema schema, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { try {/*from w ww . jav a2s. c o m*/ Class domainClass = schema.getDomainClass(); if (null == domainClass) { throw new RuntimeException("formSchema has no domain class set"); } else { 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)) { jgen.writeFieldName(name); jgen.writeStartObject(); // String fieldValue = getFormFieldConfig(domainClass, name); if (StringUtils.isNotBlank(fieldValue)) { jgen.writeRaw(fieldValue); } jgen.writeEndObject(); } } jgen.writeEndObject(); } } catch (Exception e) { LOGGER.error("Failed serializing form schema", e); } }
From source file:com.bazaarvoice.jsonpps.PrettyPrintJson.java
private void copyCurrentStructure(JsonParser parser, ObjectMapper mapper, int depth, JsonGenerator generator) throws IOException { // Avoid using the mapper to parse the entire input until we absolutely must. This allows pretty // printing huge top-level arrays (that wouldn't fit in memory) containing smaller objects (that // individually do fit in memory) where the objects are printed with sorted keys. JsonToken t = parser.getCurrentToken(); if (t == null) { generator.copyCurrentStructure(parser); // Will report the error of a null token. return;/*from w ww. j av a 2 s . com*/ } int id = t.id(); if (id == ID_FIELD_NAME) { if (depth > flatten) { generator.writeFieldName(parser.getCurrentName()); } t = parser.nextToken(); id = t.id(); } switch (id) { case ID_START_OBJECT: if (sortKeys && depth >= flatten) { // Load the entire object in memory so we can sort its keys and serialize it back out. mapper.writeValue(generator, parser.readValueAs(Map.class)); } else { // Don't load the whole object into memory. Copy it in a memory-efficient streaming fashion. if (depth >= flatten) { generator.writeStartObject(); } while (parser.nextToken() != JsonToken.END_OBJECT) { copyCurrentStructure(parser, mapper, depth + 1, generator); } if (depth >= flatten) { generator.writeEndObject(); } } break; case ID_START_ARRAY: // Don't load the whole array into memory. Copy it in a memory-efficient streaming fashion. if (depth >= flatten) { generator.writeStartArray(); } while (parser.nextToken() != JsonToken.END_ARRAY) { copyCurrentStructure(parser, mapper, depth + 1, generator); } if (depth >= flatten) { generator.writeEndArray(); } break; default: generator.copyCurrentEvent(parser); break; } }
From source file:io.airlift.event.client.EventJsonSerializer.java
@Override public void serialize(T event, JsonGenerator jsonGenerator, SerializerProvider provider) throws IOException { jsonGenerator.writeStartObject();//from w w w.ja v a 2 s .c om jsonGenerator.writeStringField("type", eventTypeMetadata.getTypeName()); if (eventTypeMetadata.getUuidField() != null) { eventTypeMetadata.getUuidField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("uuid", UUID.randomUUID().toString()); } if (eventTypeMetadata.getHostField() != null) { eventTypeMetadata.getHostField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("host", hostName); } if (eventTypeMetadata.getTimestampField() != null) { eventTypeMetadata.getTimestampField().writeField(jsonGenerator, event); } else { jsonGenerator.writeFieldName("timestamp"); EventDataType.DATETIME.writeFieldValue(jsonGenerator, new DateTime()); } jsonGenerator.writeObjectFieldStart("data"); for (EventFieldMetadata field : eventTypeMetadata.getFields()) { field.writeField(jsonGenerator, event); } jsonGenerator.writeEndObject(); jsonGenerator.writeEndObject(); jsonGenerator.flush(); }
From source file:com.proofpoint.event.client.EventJsonSerializer.java
@Override public void serialize(T event, JsonGenerator jsonGenerator, SerializerProvider provider) throws IOException { jsonGenerator.writeStartObject();//w w w.j a v a2s . c o m jsonGenerator.writeStringField("type", eventTypeMetadata.getTypeName()); if (eventTypeMetadata.getUuidField() != null) { eventTypeMetadata.getUuidField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("uuid", UUID.randomUUID().toString()); } if (eventTypeMetadata.getHostField() != null) { eventTypeMetadata.getHostField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("host", hostName); } if (eventTypeMetadata.getTimestampField() != null) { eventTypeMetadata.getTimestampField().writeField(jsonGenerator, event); } else { jsonGenerator.writeFieldName("timestamp"); EventDataType.DATETIME.writeFieldValue(jsonGenerator, new DateTime()); } if (eventTypeMetadata.getTraceTokenField() != null) { eventTypeMetadata.getTraceTokenField().writeField(jsonGenerator, event); } else if (token != null) { jsonGenerator.writeFieldName("traceToken"); EventDataType.STRING.writeFieldValue(jsonGenerator, token); } jsonGenerator.writeObjectFieldStart("data"); for (EventFieldMetadata field : eventTypeMetadata.getFields()) { field.writeField(jsonGenerator, event); } jsonGenerator.writeEndObject(); jsonGenerator.writeEndObject(); jsonGenerator.flush(); }
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
protected void valuable(final JsonGenerator jgen, final Valuable valuable, final String name) throws IOException, EdmPrimitiveTypeException { if (!Constants.VALUE.equals(name) && !(valuable instanceof Annotation) && !valuable.isComplex() && !valuable.isLinkedComplex()) { String type = valuable.getType(); if (StringUtils.isBlank(type) && valuable.isPrimitive() || valuable.isNull()) { type = EdmPrimitiveTypeKind.String.getFullQualifiedName().toString(); }//w w w . j a v a 2 s . c o m if (StringUtils.isNotBlank(type)) { jgen.writeFieldName(name + StringUtils.prependIfMissing(version.getJsonName(ODataServiceVersion.JsonKey.TYPE), "@")); jgen.writeString(new EdmTypeInfo.Builder().setTypeExpression(type).build().external(version)); } } if (valuable instanceof Annotatable) { for (Annotation annotation : ((Annotatable) valuable).getAnnotations()) { valuable(jgen, annotation, name + "@" + annotation.getTerm()); } } jgen.writeFieldName(name); value(jgen, valuable.getType(), valuable); }
From source file:com.bluelinelabs.logansquare.typeconverters.PendingIntentConverter.java
@Override public void serialize(PendingIntent pendingIntent, String fieldName, boolean writeFieldNameForObject, JsonGenerator jsonGenerator) throws IOException { android.util.Log.d("json2notification", "PendingIntentConverter:serialize"); if (pendingIntent == null) return;/* w ww. j a v a2 s . co m*/ SimplePendingIntent simplePendingIntent = new SimplePendingIntent(); simplePendingIntent.requestCode = 0; simplePendingIntent.flags = PendingIntent.FLAG_UPDATE_CURRENT; //simplePendingIntent.intent = pendingIntent.getIntent(); // hidden-api simplePendingIntent.intent = getIntent(pendingIntent); // pendingIntent.isActivity(); // hidden-api boolean isActivity = isActivity(pendingIntent); if (isActivity) { simplePendingIntent.getActivity = true; } else { simplePendingIntent.getService = true; } if (writeFieldNameForObject) jsonGenerator.writeFieldName(fieldName); SimplePendingIntent$$JsonObjectMapper._serialize((SimplePendingIntent) simplePendingIntent, jsonGenerator, true); }
From source file:com.arpnetworking.logback.serialization.BaseSerializationStrategy.java
/** * Write specified key-value pairs into the current block. * * @param keys The <code>List</code> of keys. * @param values The <code>List</code> of values. * @param jsonGenerator <code>JsonGenerator</code> instance. * @param objectMapper <code>ObjectMapper</code> instance. * @throws IOException If writing JSON fails. *//*from ww w . j a v a2 s . c o m*/ protected void writeKeyValuePairs(final List<String> keys, final List<Object> values, final JsonGenerator jsonGenerator, final ObjectMapper objectMapper) throws IOException { if (keys != null) { final int contextValuesLength = values == null ? 0 : values.size(); for (int i = 0; i < keys.size(); ++i) { final String key = keys.get(i); if (i >= contextValuesLength) { jsonGenerator.writeObjectField(key, null); } else { final Object value = values.get(i); if (isSimpleType(value)) { jsonGenerator.writeObjectField(key, value); } else { jsonGenerator.writeFieldName(key); objectMapper.writeValue(jsonGenerator, value); } } } } }
From source file:net.solarnetwork.web.support.JSONView.java
private void writeJsonValue(JsonGenerator json, String key, Object val, PropertyEditorRegistrar registrar) throws JsonGenerationException, IOException { if (val instanceof Collection<?> || (val != null && val.getClass().isArray())) { Collection<?> col;//from w w w . jav a 2 s . c om if (val instanceof Collection<?>) { col = (Collection<?>) val; } else if (!val.getClass().getComponentType().isPrimitive()) { col = Arrays.asList((Object[]) val); } else { // damn you, primitives col = getPrimitiveCollection(val); } if (key != null) { json.writeFieldName(key); } json.writeStartArray(); for (Object colObj : col) { writeJsonValue(json, null, colObj, registrar); } json.writeEndArray(); } else if (val instanceof Map<?, ?>) { if (key != null) { json.writeFieldName(key); } json.writeStartObject(); for (Map.Entry<?, ?> me : ((Map<?, ?>) val).entrySet()) { Object propName = me.getKey(); if (propName == null) { continue; } writeJsonValue(json, propName.toString(), me.getValue(), registrar); } json.writeEndObject(); } else if (val instanceof Double) { if (key == null) { json.writeNumber((Double) val); } else { json.writeNumberField(key, (Double) val); } } else if (val instanceof Integer) { if (key == null) { json.writeNumber((Integer) val); } else { json.writeNumberField(key, (Integer) val); } } else if (val instanceof Short) { if (key == null) { json.writeNumber(((Short) val).intValue()); } else { json.writeNumberField(key, ((Short) val).intValue()); } } else if (val instanceof Float) { if (key == null) { json.writeNumber((Float) val); } else { json.writeNumberField(key, (Float) val); } } else if (val instanceof Long) { if (key == null) { json.writeNumber((Long) val); } else { json.writeNumberField(key, (Long) val); } } else if (val instanceof Boolean) { if (key == null) { json.writeBoolean((Boolean) val); } else { json.writeBooleanField(key, (Boolean) val); } } else if (val instanceof String) { if (key == null) { json.writeString((String) val); } else { json.writeStringField(key, (String) val); } } else { // create a JSON object from bean properties if (getPropertySerializerRegistrar() != null && val != null) { // try whole-bean serialization first Object o = getPropertySerializerRegistrar().serializeProperty(key, val.getClass(), val, val); if (o != val) { if (o != null) { writeJsonValue(json, key, o, registrar); } return; } } generateJavaBeanObject(json, key, val, registrar); } }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
protected void valuable(final JsonGenerator jgen, final Valuable valuable, final String name) throws IOException, EdmPrimitiveTypeException { if (!Constants.VALUE.equals(name) && !(valuable instanceof Annotation) && !(valuable.isComplex() && !valuable.isCollection())) { String type = valuable.getType(); if ((!valuable.isCollection() && StringUtils.isBlank(type) && valuable.isPrimitive()) || valuable.isNull()) {//from ww w. ja v a2s. c om type = EdmPrimitiveTypeKind.String.getFullQualifiedName().toString(); } if (StringUtils.isNotBlank(type) && !isODataMetadataNone(contentType)) { jgen.writeFieldName(name + StringUtils.prependIfMissing(Constants.JSON_TYPE, "@")); jgen.writeString(new EdmTypeInfo.Builder().setTypeExpression(type).build().external()); } } for (Annotation annotation : ((Annotatable) valuable).getAnnotations()) { valuable(jgen, annotation, name + "@" + annotation.getTerm()); } jgen.writeFieldName(name); value(jgen, valuable.getType(), valuable); }
From source file:org.apache.nifi.processors.elasticsearch.PutElasticsearchHttpRecord.java
private void writeRecord(final Record record, final RecordSchema writeSchema, final JsonGenerator generator) throws IOException { RecordSchema schema = record.getSchema(); generator.writeStartObject();// w w w . j a va 2s. c om for (int i = 0; i < schema.getFieldCount(); i++) { final RecordField field = schema.getField(i); final String fieldName = field.getFieldName(); final Object value = record.getValue(field); if (value == null) { generator.writeNullField(fieldName); continue; } generator.writeFieldName(fieldName); final DataType dataType = schema.getDataType(fieldName).get(); writeValue(generator, value, fieldName, dataType); } generator.writeEndObject(); }