List of usage examples for com.fasterxml.jackson.core JsonGenerator writeFieldName
public abstract void writeFieldName(SerializableString name) throws IOException, JsonGenerationException;
From source file:org.apache.olingo.commons.core.serialization.JsonPropertySerializer.java
protected void doContainerSerialize(final ResWrap<Property> container, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final Property property = container.getPayload(); jgen.writeStartObject();//from w w w. ja v a 2s .c o m if (serverMode && container.getContextURL() != null) { jgen.writeStringField(version.compareTo(ODataServiceVersion.V40) >= 0 ? Constants.JSON_CONTEXT : Constants.JSON_METADATA, container.getContextURL().toASCIIString()); } if (StringUtils.isNotBlank(property.getType())) { jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.TYPE), new EdmTypeInfo.Builder().setTypeExpression(property.getType()).build().external(version)); } for (Annotation annotation : property.getAnnotations()) { valuable(jgen, annotation, "@" + annotation.getTerm()); } if (property.isNull()) { jgen.writeBooleanField(Constants.JSON_NULL, true); } else if (property.isPrimitive()) { final EdmTypeInfo typeInfo = property.getType() == null ? null : new EdmTypeInfo.Builder().setTypeExpression(property.getType()).build(); jgen.writeFieldName(Constants.VALUE); primitiveValue(jgen, typeInfo, property.asPrimitive()); } else if (property.isEnum()) { jgen.writeStringField(Constants.VALUE, property.asEnum().toString()); } else if (property.isGeospatial() || property.isCollection()) { valuable(jgen, property, Constants.VALUE); } else if (property.isLinkedComplex()) { for (Property cproperty : property.asLinkedComplex().getValue()) { valuable(jgen, cproperty, cproperty.getName()); } } else if (property.isComplex()) { for (Property cproperty : property.asComplex()) { valuable(jgen, cproperty, cproperty.getName()); } } jgen.writeEndObject(); }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeImpFields(Imp imp, JsonGenerator gen) throws IOException { gen.writeStringField("id", imp.getId()); if (imp.hasBanner()) { gen.writeFieldName("banner"); writeBanner(imp.getBanner(), gen); }/*w w w.j a v a 2 s . c o m*/ if (imp.hasVideo()) { gen.writeFieldName("video"); writeVideo(imp.getVideo(), gen); } if (imp.hasAudio()) { gen.writeFieldName("audio"); writeAudio(imp.getAudio(), gen); } if (imp.hasNative()) { gen.writeFieldName("native"); writeNative(imp.getNative(), gen); } if (imp.hasDisplaymanager()) { gen.writeStringField("displaymanager", imp.getDisplaymanager()); } if (imp.hasDisplaymanagerver()) { gen.writeStringField("displaymanagerver", imp.getDisplaymanagerver()); } if (imp.hasInstl()) { writeIntBoolField("instl", imp.getInstl(), gen); } if (imp.hasTagid()) { gen.writeStringField("tagid", imp.getTagid()); } if (imp.hasBidfloor()) { gen.writeNumberField("bidfloor", imp.getBidfloor()); } if (imp.hasBidfloorcur()) { gen.writeStringField("bidfloorcur", imp.getBidfloorcur()); } if (imp.hasSecure()) { writeIntBoolField("secure", imp.getSecure(), gen); } writeStrings("iframebuster", imp.getIframebusterList(), gen); if (imp.hasPmp()) { gen.writeFieldName("pmp"); writePmp(imp.getPmp(), gen); } if (imp.hasClickbrowser()) { gen.writeBooleanField("clickbrowser", imp.getClickbrowser()); } if (imp.hasExp()) { gen.writeNumberField("exp", imp.getExp()); } }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeDeviceFields(Device device, JsonGenerator gen) throws IOException { if (device.hasUa()) { gen.writeStringField("ua", device.getUa()); }// w w w. j ava2 s .c o m if (device.hasGeo()) { gen.writeFieldName("geo"); writeGeo(device.getGeo(), gen); } if (device.hasDnt()) { writeIntBoolField("dnt", device.getDnt(), gen); } if (device.hasLmt()) { writeIntBoolField("lmt", device.getLmt(), gen); } if (device.hasIp()) { gen.writeStringField("ip", device.getIp()); } if (device.hasIpv6()) { gen.writeStringField("ipv6", device.getIpv6()); } if (device.hasDevicetype()) { gen.writeNumberField("devicetype", device.getDevicetype().getNumber()); } if (device.hasMake()) { gen.writeStringField("make", device.getMake()); } if (device.hasModel()) { gen.writeStringField("model", device.getModel()); } if (device.hasOs()) { gen.writeStringField("os", device.getOs()); } if (device.hasOsv()) { gen.writeStringField("osv", device.getOsv()); } if (device.hasHwv()) { gen.writeStringField("hwv", device.getHwv()); } if (device.hasW()) { gen.writeNumberField("w", device.getW()); } if (device.hasH()) { gen.writeNumberField("h", device.getH()); } if (device.hasPpi()) { gen.writeNumberField("ppi", device.getPpi()); } if (device.hasPxratio()) { gen.writeNumberField("pxratio", device.getPxratio()); } if (device.hasJs()) { writeIntBoolField("js", device.getJs(), gen); } if (device.hasFlashver()) { gen.writeStringField("flashver", device.getFlashver()); } if (device.hasLanguage()) { gen.writeStringField("language", device.getLanguage()); } if (device.hasCarrier()) { gen.writeStringField("carrier", device.getCarrier()); } if (device.hasConnectiontype()) { gen.writeNumberField("connectiontype", device.getConnectiontype().getNumber()); } if (device.hasIfa()) { gen.writeStringField("ifa", device.getIfa()); } if (device.hasDidsha1()) { gen.writeStringField("didsha1", device.getDidsha1()); } if (device.hasDidmd5()) { gen.writeStringField("didmd5", device.getDidmd5()); } if (device.hasDpidsha1()) { gen.writeStringField("dpidsha1", device.getDpidsha1()); } if (device.hasDpidmd5()) { gen.writeStringField("dpidmd5", device.getDpidmd5()); } if (device.hasMacsha1()) { gen.writeStringField("macsha1", device.getMacsha1()); } if (device.hasMacmd5()) { gen.writeStringField("macmd5", device.getMacmd5()); } if (device.hasGeofetch()) { writeIntBoolField("geofetch", device.getGeofetch(), gen); } }
From source file:de.ks.flatadocdb.defaults.json.RelationCollectionPropertyWriter.java
@Override public void serializeAsField(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception { Object value = (_accessorMethod == null) ? _field.get(bean) : _accessorMethod.invoke(bean); if (value instanceof Collection) { Collection<String> ids; if (value instanceof List) { ids = new ArrayList<>(); } else {// w w w . j a v a2s . co m ids = new HashSet<>(); } for (Object object : ((Collection) value)) { if (object != null) { EntityDescriptor entityDescriptor = metaModel.getEntityDescriptor(object.getClass()); String id = entityDescriptor.getId(object); log.trace("Replaced object {} of collection by relation id {}.", object, id); ids.add(id); } } value = ids; } else if (value != null) { EntityDescriptor entityDescriptor = metaModel.getEntityDescriptor(value.getClass()); String id = entityDescriptor.getId(value); value = id; log.trace("Replaced single object {} by relation id {}.", value, id); } // Null handling is bit different, check that first if (value == null) { if (_nullSerializer != null) { gen.writeFieldName(_name); _nullSerializer.serialize(null, gen, prov); } return; } // then find serializer to use JsonSerializer<Object> ser = _serializer; if (ser == null) { Class<?> cls = value.getClass(); PropertySerializerMap m = _dynamicSerializers; ser = m.serializerFor(cls); if (ser == null) { ser = _findAndAddDynamic(m, cls, prov); } } // and then see if we must suppress certain values (default, empty) if (_suppressableValue != null) { if (MARKER_FOR_EMPTY == _suppressableValue) { if (ser.isEmpty(prov, value)) { return; } } else if (_suppressableValue.equals(value)) { return; } } // For non-nulls: simple check for direct cycles if (value == bean) { // three choices: exception; handled by call; or pass-through if (_handleSelfReference(bean, gen, prov, ser)) { return; } } gen.writeFieldName(_name); if (_typeSerializer == null) { ser.serialize(value, gen, prov); } else { ser.serializeWithType(value, gen, prov, _typeSerializer); } }
From source file:ijfx.service.overlay.io.OverlaySerializer.java
private void savePolytonOverlay(PolygonOverlay overlay, JsonGenerator jg) throws IOException { // {/*from w w w.ja v a 2 s. co m*/ jg.writeStartObject(); int numDimension = overlay.numDimensions(); // "ovl_type":"polygon" jg.writeStringField(JsonOverlayToken.OVERLAY_TYPE, JsonOverlayToken.POLYGON_OVERLAY); // "points":[ int vertexCount = overlay.getRegionOfInterest().getVertexCount(); double[] xpoints = IntStream.range(0, vertexCount) .mapToDouble(i -> overlay.getRegionOfInterest().getVertex(i).getDoublePosition(0)).toArray(); double[] ypoints = IntStream.range(0, vertexCount) .mapToDouble(i -> overlay.getRegionOfInterest().getVertex(i).getDoublePosition(1)).toArray(); writeDoubleArray(jg, "xpoints", xpoints); writeDoubleArray(jg, "ypoints", ypoints); // } ColorRGB fcolor = overlay.getFillColor(); ColorRGB lcolor = overlay.getLineColor(); Integer[] fill_color = { fcolor.getRed(), fcolor.getGreen(), fcolor.getBlue() }; Integer[] line_color = { lcolor.getRed(), lcolor.getGreen(), lcolor.getBlue() }; double width = overlay.getLineWidth(); writeNumberArray(jg, JsonOverlayToken.FILL_COLOR, fill_color); writeNumberArray(jg, JsonOverlayToken.LINE_COLOR, line_color); jg.writeFieldName(JsonOverlayToken.LINE_WIDTH); jg.writeNumber(width); jg.writeEndObject(); }
From source file:org.sead.repositories.reference.RefRepository.java
protected static void generateIndex(InputStream ro, File descFile, File indexFile) throws JsonParseException, IOException { log.debug("Generating desc and index files"); JsonFactory f = new MappingJsonFactory(); // reading JsonParser jp = f.createParser(ro);// w w w .j a va2 s . co m JsonGenerator generator = new JsonFactory().createGenerator(descFile, JsonEncoding.UTF8); JsonToken current; current = jp.nextToken(); report(jp, current); while ((current = jp.nextToken()) != null) { if (current.equals(JsonToken.FIELD_NAME)) { String fName = jp.getText(); if (fName.equals("describes")) { log.trace("describes"); while (((current = jp.nextToken()) != null)) { if (jp.isExpectedStartObjectToken()) { generator.setCodec(new ObjectMapper()); generator.useDefaultPrettyPrinter(); generator.writeStartObject(); while (((current = jp.nextToken()) != JsonToken.END_OBJECT)) { if (current != JsonToken.FIELD_NAME) { log.warn("Unexpected Token!"); report(jp, current); } else { report(jp, current); String name = jp.getText(); current = jp.nextToken(); // Get to start of // value if (!name.equals("aggregates")) { log.trace("Writing: " + name); generator.writeFieldName(name); generator.writeTree(jp.readValueAsTree()); } else { report(jp, current); log.trace("Skipping?"); if (current.isStructStart()) { indexChildren(indexFile, jp); // jp.skipChildren(); } else { log.warn("Was Not Struct start!"); } log.trace("Hit aggregates"); } } } generator.writeEndObject(); generator.close(); } } } } } }
From source file:org.talend.dataprep.schema.xls.serialization.XlsxStreamRunnable.java
/** * @see Runnable#run()/*from ww w. java 2s. c o m*/ */ @Override public void run() { try { JsonGenerator generator = jsonFactory.createGenerator(jsonOutput); Workbook workbook = StreamingReader.builder() // .bufferSize(4096) // .rowCacheSize(1) // .open(rawContent); try { Sheet sheet = StringUtils.isEmpty(metadata.getSheetName()) ? // workbook.getSheetAt(0) : workbook.getSheet(metadata.getSheetName()); generator.writeStartArray(); for (Row row : sheet) { if (limit > 0 && row.getRowNum() > limit) { break; } if (!XlsSerializer.isHeaderLine(row.getRowNum(), metadata.getRowMetadata().getColumns())) { generator.writeStartObject(); // data quality Analyzer doesn't like to not have all columns even if we don't have any values // so create so field with empty value otherwise we get exceptions int i = 0; for (ColumnMetadata columnMetadata : metadata.getRowMetadata().getColumns()) { Cell cell = row.getCell(i); String cellValue = cell == null ? null : cell.getStringCellValue(); // StringUtils.EMPTY generator.writeFieldName(columnMetadata.getId()); if (cellValue != null) { generator.writeString(cellValue); } else { generator.writeNull(); } i++; } generator.writeEndObject(); } } generator.writeEndArray(); generator.flush(); } finally { workbook.close(); } } catch (Exception e) { // Consumer may very well interrupt consumption of stream (in case of limit(n) use for sampling). // This is not an issue as consumer is allowed to partially consumes results, it's up to the // consumer to ensure data it consumed is consistent. LOG.debug("Unable to continue serialization for {}. Skipping remaining content.", metadata.getId(), e); } finally { try { jsonOutput.close(); } catch (IOException e) { LOG.error("Unable to close output", e); } } }
From source file:de.fraunhofer.iosb.ilt.sta.serialize.EntitySerializer.java
protected void serializeFieldCustomized(Entity entity, JsonGenerator gen, BeanPropertyDefinition property, List<BeanPropertyDefinition> properties, CustomSerialization annotation) throws Exception { // check if encoding field is present in current bean // get calue//from w w w. j a v a2 s . co m // call CustomSerializationManager Optional<BeanPropertyDefinition> encodingProperty = properties.stream() .filter(p -> p.getName().equals(annotation.encoding())).findFirst(); if (!encodingProperty.isPresent()) { // TODO use more specific exception type throw new Exception("can not serialize instance of class '" + entity.getClass() + "'! \n" + "Reason: trying to use custom serialization for field '" + property.getName() + "' but field '" + annotation.encoding() + "' specifying enconding is not present!"); } Object value = encodingProperty.get().getAccessor().getValue(entity); String encodingType = null; if (value != null) { encodingType = value.toString(); } String customJson = CustomSerializationManager.getInstance().getSerializer(encodingType) .serialize(property.getAccessor().getValue(entity)); if (customJson != null && !customJson.isEmpty()) { gen.writeFieldName(property.getName()); gen.writeRawValue(customJson); } }
From source file:de.fraunhofer.iosb.ilt.sta.serialize.EntitySerializer.java
@Override public void serialize(Entity entity, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject();// w ww . jav a 2 s. com try { BasicBeanDescription beanDescription = serializers.getConfig() .introspect(serializers.constructType(entity.getClass())); List<BeanPropertyDefinition> properties = beanDescription.findProperties(); for (BeanPropertyDefinition property : properties) { // 0. check if it should be serialized if (selectedProperties != null) { if (!selectedProperties.contains(property.getName())) { continue; } } // 1. is it a NavigableElement? if (NavigableElement.class.isAssignableFrom(property.getAccessor().getRawType())) { Object rawValue = property.getAccessor().getValue(entity); if (rawValue != null) { NavigableElement value = (NavigableElement) rawValue; // If navigation link set, output navigation link. if (value.getNavigationLink() != null && !value.getNavigationLink().isEmpty()) { gen.writeFieldName(property.getName() + "@iot.navigationLink"); gen.writeString(value.getNavigationLink()); } // If object should not be exported, skip any further processing. if (!value.isExportObject()) { continue; } } } // 2. check if property has CustomSerialization annotation -> use custom serializer Annotation annotation = property.getAccessor().getAnnotation(CustomSerialization.class); if (annotation != null) { serializeFieldCustomized(entity, gen, property, properties, (CustomSerialization) annotation); } else { serializeField(entity, gen, serializers, beanDescription, property); } // 3. check if property is EntitySet than eventually write count if (EntitySet.class.isAssignableFrom(property.getAccessor().getRawType())) { Object rawValue = property.getAccessor().getValue(entity); if (rawValue != null) { EntitySet set = (EntitySet) rawValue; long count = set.getCount(); if (count >= 0) { gen.writeNumberField(property.getName() + "@iot.count", count); } String nextLink = set.getNextLink(); if (nextLink != null) { gen.writeStringField(property.getName() + "@iot.nextLink", nextLink); } } } } } catch (Exception e) { LOGGER.error("could not serialize Entity", e); throw new IOException("could not serialize Entity", e); } finally { gen.writeEndObject(); } }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeBidRequestFields(BidRequest req, JsonGenerator gen) throws IOException { gen.writeStringField("id", req.getId()); if (checkRequired(req.getImpCount())) { gen.writeArrayFieldStart("imp"); for (Imp imp : req.getImpList()) { writeImp(imp, gen);//from www. j ava 2 s . c o m } gen.writeEndArray(); } switch (req.getDistributionchannelOneofCase()) { case SITE: gen.writeFieldName("site"); writeSite(req.getSite(), gen); break; case APP: gen.writeFieldName("app"); writeApp(req.getApp(), gen); break; case DISTRIBUTIONCHANNELONEOF_NOT_SET: checkRequired(false); } if (req.hasDevice()) { gen.writeFieldName("device"); writeDevice(req.getDevice(), gen); } if (req.hasUser()) { gen.writeFieldName("user"); writeUser(req.getUser(), gen); } if (req.hasTest()) { writeIntBoolField("test", req.getTest(), gen); } if (req.hasAt()) { gen.writeNumberField("at", req.getAt().getNumber()); } if (req.hasTmax()) { gen.writeNumberField("tmax", req.getTmax()); } writeStrings("wseat", req.getWseatList(), gen); if (req.hasAllimps()) { writeIntBoolField("allimps", req.getAllimps(), gen); } writeStrings("cur", req.getCurList(), gen); writeContentCategories("bcat", req.getBcatList(), gen); writeStrings("badv", req.getBadvList(), gen); if (req.hasRegs()) { gen.writeFieldName("regs"); writeRegs(req.getRegs(), gen); } writeStrings("bapp", req.getBappList(), gen); }