List of usage examples for com.fasterxml.jackson.core JsonGenerator writeString
public abstract void writeString(SerializableString text) throws IOException, JsonGenerationException;
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
protected void clientLinks(final Linked linked, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (Link link : linked.getNavigationLinks()) { for (Annotation annotation : link.getAnnotations()) { valuable(jgen, annotation, link.getTitle() + "@" + annotation.getTerm()); }// w w w. jav a 2s .co m ODataLinkType type = null; try { type = ODataLinkType.fromString(version, link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } if (StringUtils.isNotBlank(link.getHref())) { uris.add(link.getHref()); } } else { if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(link.getTitle() + Constants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } if (link.getInlineEntity() != null) { jgen.writeFieldName(link.getTitle()); new JsonEntitySerializer(version, serverMode).doSerialize(link.getInlineEntity(), jgen); } else if (link.getInlineEntitySet() != null) { jgen.writeArrayFieldStart(link.getTitle()); final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(version, serverMode); for (Entity subEntry : link.getInlineEntitySet().getEntities()) { entitySerializer.doSerialize(subEntry, jgen); } jgen.writeEndArray(); } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { if (!entitySetLink.getValue().isEmpty()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + Constants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } } }
From source file:io.swagger.inflector.processors.JsonNodeExampleSerializer.java
public void writeValue(JsonGenerator jgen, String field, Example o) throws IOException { if (o instanceof ArrayExample) { ArrayExample obj = (ArrayExample) o; jgen.writeArrayFieldStart(field); for (Example item : obj.getItems()) { if (item.getName() != null) { jgen.writeStartObject(); writeTo(jgen, item);//from w w w . jav a2 s. co m jgen.writeEndObject(); } else { writeTo(jgen, item); } } jgen.writeEndArray(); } else if (o instanceof BooleanExample) { BooleanExample obj = (BooleanExample) o; if (field != null) { jgen.writeBooleanField(field, obj.getValue()); } else { jgen.writeBoolean(obj.getValue()); } } else if (o instanceof DecimalExample) { DecimalExample obj = (DecimalExample) o; if (field != null) { jgen.writeNumberField(field, obj.getValue()); } else { jgen.writeNumber(obj.getValue()); } } else if (o instanceof DoubleExample) { DoubleExample obj = (DoubleExample) o; if (field != null) { jgen.writeNumberField(field, obj.getValue()); } else { jgen.writeNumber(obj.getValue()); } } else if (o instanceof FloatExample) { FloatExample obj = (FloatExample) o; if (field != null) { jgen.writeNumberField(field, obj.getValue()); } else { jgen.writeNumber(obj.getValue()); } } else if (o instanceof IntegerExample) { IntegerExample obj = (IntegerExample) o; if (field != null) { jgen.writeNumberField(field, obj.getValue()); } else { jgen.writeNumber(obj.getValue()); } } else if (o instanceof LongExample) { LongExample obj = (LongExample) o; if (field != null) { jgen.writeNumberField(field, obj.getValue()); } else { jgen.writeNumber(obj.getValue()); } } else if (o instanceof ObjectExample) { ObjectExample obj = (ObjectExample) o; if (field != null) { jgen.writeObjectField(field, obj); } } else if (o instanceof StringExample) { StringExample obj = (StringExample) o; if (field != null) { jgen.writeStringField(field, obj.getValue()); } else { jgen.writeString(obj.getValue()); } } }
From source file:com.msopentech.odatajclient.engine.data.impl.JSONEntrySerializer.java
@Override protected void doSerialize(final AbstractJSONEntry entry, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();/*from w w w . j a va 2 s .c om*/ if (entry.getMetadata() != null) { jgen.writeStringField(ODataConstants.JSON_METADATA, entry.getMetadata().toASCIIString()); } if (StringUtils.isNotBlank(entry.getType())) { jgen.writeStringField(ODataConstants.JSON_TYPE, entry.getType()); } if (entry.getId() != null) { jgen.writeStringField(ODataConstants.JSON_ID, entry.getId()); } if (entry.getSelfLink() != null) { jgen.writeStringField(ODataConstants.JSON_READ_LINK, entry.getSelfLink().getHref()); } if (entry.getEditLink() != null) { jgen.writeStringField(ODataConstants.JSON_EDIT_LINK, entry.getEditLink().getHref()); } if (entry.getMediaContentSource() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIAREAD_LINK, entry.getMediaContentSource()); } if (entry.getMediaContentType() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIA_CONTENT_TYPE, entry.getMediaContentType()); } final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (JSONLink link : entry.getNavigationLinks()) { if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } else if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } else { ODataLinkType type = null; try { type = ODataLinkType.fromString(client, link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } uris.add(link.getHref()); } else { jgen.writeStringField(link.getTitle() + ODataConstants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + ODataConstants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } for (JSONLink link : entry.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(ODataConstants.JSON_MEDIAEDIT_LINK, link.getHref()); } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } } if (entry.getMediaEntryProperties() == null) { JSONDOMTreeUtils.writeSubtree(client, jgen, entry.getContent()); } else { JSONDOMTreeUtils.writeSubtree(client, jgen, entry.getMediaEntryProperties()); } jgen.writeEndObject(); }
From source file:com.msopentech.odatajclient.engine.data.json.JSONEntrySerializer.java
@Override protected void doSerializeV3(AbstractJSONEntry<AbstractLinkResource<?, ?>> entry, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();// w w w . j a v a 2s.c om if (entry.getMetadata() != null) { jgen.writeStringField(ODataConstants.JSON_METADATA, entry.getMetadata().toASCIIString()); } if (StringUtils.isNotBlank(entry.getType())) { jgen.writeStringField(ODataConstants.JSON_TYPE, entry.getType()); } if (entry.getId() != null) { jgen.writeStringField(ODataConstants.JSON_ID, entry.getId()); } if (entry.getSelfLink() != null) { jgen.writeStringField(ODataConstants.JSON_READ_LINK, entry.getSelfLink().getHref()); } if (entry.getEditLink() != null) { jgen.writeStringField(ODataConstants.JSON_EDIT_LINK, entry.getEditLink().getHref()); } if (entry.getMediaContentSource() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIAREAD_LINK, entry.getMediaContentSource()); } if (entry.getMediaContentType() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIA_CONTENT_TYPE, entry.getMediaContentType()); } final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getNavigationLinks()) { if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } else if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } else { ODataLinkType type = null; try { type = ODataLinkType.fromString(link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } uris.add(link.getHref()); } else { jgen.writeStringField(link.getTitle() + ODataConstants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + ODataConstants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(ODataConstants.JSON_MEDIAEDIT_LINK, link.getHref()); } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } } if (entry.getMediaEntryProperties() == null) { DOMTreeUtils.writeSubtree(client, jgen, entry.getContent()); } else { DOMTreeUtils.writeSubtree(client, jgen, entry.getMediaEntryProperties()); } jgen.writeEndObject(); }
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;//w w w . j av a2 s .c o m 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:com.msopentech.odatajclient.engine.data.json.JSONEntrySerializer.java
@Override protected void doSerializeV4(AbstractJSONEntry<AbstractLinkResource<?, ?>> entry, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { final String annotationPrefix = "@"; jgen.writeStartObject();//from w w w .j ava 2s . c o m if (entry.getMetadata() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_METADATA, entry.getMetadata().toASCIIString()); } if (StringUtils.isNotBlank(entry.getType())) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_TYPE, entry.getType()); } if (entry.getId() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_ID, entry.getId()); } if (entry.getSelfLink() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_READ_LINK, entry.getSelfLink().getHref()); } if (entry.getEditLink() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_EDIT_LINK, entry.getEditLink().getHref()); } if (entry.getMediaContentSource() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_MEDIAREAD_LINK, entry.getMediaContentSource()); } if (entry.getMediaContentType() != null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_MEDIA_CONTENT_TYPE, entry.getMediaContentType()); } final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getNavigationLinks()) { if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } else if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } else { ODataLinkType type = null; try { type = ODataLinkType.fromString(link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } uris.add(link.getHref()); } else { jgen.writeStringField(link.getTitle() + ODataConstants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + ODataConstants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(annotationPrefix + ODataConstants.JSON_MEDIAEDIT_LINK, link.getHref()); } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } } if (entry.getMediaEntryProperties() == null) { DOMTreeUtils.writeSubtree(client, jgen, entry.getContent()); } else { DOMTreeUtils.writeSubtree(client, jgen, entry.getMediaEntryProperties()); } 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()); }// w w w. jav a 2 s .co 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:org.apache.olingo.server.core.serializer.json.ODataJsonSerializer.java
protected void writePrimitiveValue(final String name, final EdmPrimitiveType type, final Object primitiveValue, final Boolean isNullable, final Integer maxLength, final Integer precision, final Integer scale, final Boolean isUnicode, final JsonGenerator json) throws EdmPrimitiveTypeException, IOException { final String value = type.valueToString(primitiveValue, isNullable, maxLength, precision, scale, isUnicode); if (value == null) { json.writeNull();// w w w . j ava 2 s . c o m } else if (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Boolean)) { json.writeBoolean(Boolean.parseBoolean(value)); } else if (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Byte) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Double) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int16) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.SByte) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Single) || (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Decimal) || type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int64)) && !isIEEE754Compatible) { json.writeNumber(value); } else if (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Stream)) { if (primitiveValue instanceof Link) { Link stream = (Link) primitiveValue; if (!isODataMetadataNone) { if (stream.getMediaETag() != null) { json.writeStringField(name + constants.getMediaEtag(), stream.getMediaETag()); } if (stream.getType() != null) { json.writeStringField(name + constants.getMediaContentType(), stream.getType()); } } if (isODataMetadataFull) { if (stream.getRel() != null && stream.getRel().equals(Constants.NS_MEDIA_READ_LINK_REL)) { json.writeStringField(name + constants.getMediaReadLink(), stream.getHref()); } if (stream.getRel() == null || stream.getRel().equals(Constants.NS_MEDIA_EDIT_LINK_REL)) { json.writeStringField(name + constants.getMediaEditLink(), stream.getHref()); } } } } else { json.writeString(value); } }