Example usage for com.fasterxml.jackson.core JsonGenerator writeNull

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeNull

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeNull.

Prototype

public abstract void writeNull() throws IOException, JsonGenerationException;

Source Link

Document

Method for outputting literal Json null value.

Usage

From source file:com.streamsets.datacollector.http.JMXJsonServlet.java

private void writeObject(JsonGenerator jg, Object value) throws IOException {
    if (value == null) {
        jg.writeNull();
    } else {//from  www  .  j  av  a 2s  .co  m
        Class<?> c = value.getClass();
        if (c.isArray()) {
            jg.writeStartArray();
            int len = Array.getLength(value);
            for (int j = 0; j < len; j++) {
                Object item = Array.get(value, j);
                writeObject(jg, item);
            }
            jg.writeEndArray();
        } else if (value instanceof Number) {
            Number n = (Number) value;
            jg.writeNumber(n.toString());
        } else if (value instanceof Boolean) {
            Boolean b = (Boolean) value;
            jg.writeBoolean(b);
        } else if (value instanceof CompositeData) {
            CompositeData cds = (CompositeData) value;
            CompositeType comp = cds.getCompositeType();
            Set<String> keys = comp.keySet();
            jg.writeStartObject();
            for (String key : keys) {
                writeAttribute(jg, key, cds.get(key));
            }
            jg.writeEndObject();
        } else if (value instanceof TabularData) {
            TabularData tds = (TabularData) value;
            jg.writeStartArray();
            for (Object entry : tds.values()) {
                writeObject(jg, entry);
            }
            jg.writeEndArray();
        } else if (value instanceof GaugeValue) {
            ((GaugeValue) value).serialize(jg);
        } else {
            jg.writeString(value.toString());
        }
    }
}

From source file:org.mycontroller.standalone.api.jaxrs.mixins.RuleDefinitionMixin.java

@Override
public void serialize(RuleDefinitionTable ruleDefinitionTable, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    if (ruleDefinitionTable != null) {
        RestUtils.getObjectMapper().writeValue(jgen, RuleUtils.getRuleDefinition(ruleDefinitionTable));
    } else {/*from   w  ww  . j a v  a2 s . c o  m*/
        jgen.writeNull();
    }

}

From source file:io.pdef.json.JsonJacksonFormat.java

private <T> void write(final T object, final DataTypeDescriptor<T> descriptor, final JsonGenerator generator)
        throws IOException {
    if (object == null) {
        generator.writeNull();
        return;/*from ww w. ja  v a 2  s.  co  m*/
    }

    switch (descriptor.getType()) {
    case BOOL:
        generator.writeBoolean((Boolean) object);
        break;
    case INT16:
        generator.writeNumber((Short) object);
        break;
    case INT32:
        generator.writeNumber((Integer) object);
        break;
    case INT64:
        generator.writeNumber((Long) object);
        break;
    case FLOAT:
        generator.writeNumber((Float) object);
        break;
    case DOUBLE:
        generator.writeNumber((Double) object);
        break;
    case STRING:
        generator.writeString((String) object);
        break;
    case DATETIME:
        writeDatetime((Date) object, generator);
        break;
    case LIST:
        writeList((List) object, (ListDescriptor) descriptor, generator);
        break;
    case SET:
        writeSet((Set) object, (SetDescriptor) descriptor, generator);
        break;
    case MAP:
        writeMap((Map) object, (MapDescriptor) descriptor, generator);
        break;
    case VOID:
        generator.writeNull();
        break;
    case ENUM:
        writeEnum((Enum) object, generator);
        break;
    case MESSAGE:
        writeMessage((Message) object, generator);
        break;
    default:
        throw new JsonFormatException("Unsupported descriptor " + descriptor);
    }
}

From source file:org.dbrain.data.jackson.serializers.JsonBigDecimalSerializer.java

@Override
public void serialize(BigDecimal value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    if (value != null) {
        // Does it have more that 15 significant digits ?
        BigInteger unscaled = value.unscaledValue();
        if (unscaled.compareTo(MIN_VALUE) >= 0 && unscaled.compareTo(MAX_VALUE) <= 0) {
            jgen.writeNumber(value);//from   w  ww  .j  a  va2  s . c  om
        } else {
            jgen.writeString(value.toString());
        }
    } else {
        jgen.writeNull();
    }
}

From source file:com.skcraft.launcher.model.minecraft.PlatformSerializer.java

@Override
public void serialize(Platform platform, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException, JsonProcessingException {
    switch (platform) {
    case WINDOWS:
        jsonGenerator.writeString("windows");
        break;/*from  w  ww  .j  a v a  2s .co m*/
    case MAC_OS_X:
        jsonGenerator.writeString("osx");
        break;
    case LINUX:
        jsonGenerator.writeString("linux");
        break;
    case SOLARIS:
        jsonGenerator.writeString("solaris");
        break;
    case UNKNOWN:
        jsonGenerator.writeNull();
        break;
    }
}

From source file:net.solarnetwork.web.support.JSONView.java

private void generateJavaBeanObject(JsonGenerator json, String key, Object bean,
        PropertyEditorRegistrar registrar) throws JsonGenerationException, IOException {
    if (key != null) {
        json.writeFieldName(key);/*from  w ww. j  a  v a 2 s .  c o  m*/
    }
    if (bean == null) {
        json.writeNull();
        return;
    }
    BeanWrapper wrapper = getPropertyAccessor(bean, registrar);
    PropertyDescriptor[] props = wrapper.getPropertyDescriptors();
    json.writeStartObject();
    for (PropertyDescriptor prop : props) {
        String name = prop.getName();
        if (this.getJavaBeanIgnoreProperties() != null && this.getJavaBeanIgnoreProperties().contains(name)) {
            continue;
        }
        if (wrapper.isReadableProperty(name)) {
            Object propVal = wrapper.getPropertyValue(name);
            if (propVal != null) {

                // test for SerializeIgnore
                Method getter = prop.getReadMethod();
                if (getter != null && getter.isAnnotationPresent(SerializeIgnore.class)) {
                    continue;
                }

                if (getPropertySerializerRegistrar() != null) {
                    propVal = getPropertySerializerRegistrar().serializeProperty(name, propVal.getClass(), bean,
                            propVal);
                } else {
                    // Spring does not apply PropertyEditors on read methods, so manually handle
                    PropertyEditor editor = wrapper.findCustomEditor(null, name);
                    if (editor != null) {
                        editor.setValue(propVal);
                        propVal = editor.getAsText();
                    }
                }
                if (propVal instanceof Enum<?> || getJavaBeanTreatAsStringValues() != null
                        && getJavaBeanTreatAsStringValues().contains(propVal.getClass())) {
                    propVal = propVal.toString();
                }
                writeJsonValue(json, name, propVal, registrar);
            }
        }
    }
    json.writeEndObject();
}

From source file:data.DefaultExchanger.java

protected void putInt(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    int value = rs.getInt(index);
    if (rs.wasNull()) {
        generator.writeNull();
    } else {//from w ww .jav  a2s. c om
        generator.writeNumber(value);
    }
}

From source file:data.DefaultExchanger.java

protected void putDate(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    Date date = rs.getDate(index);
    if (date == null) {
        generator.writeNull();
    } else {/*from   w w w.  ja  v  a2s.co m*/
        generator.writeNumber(date.getTime());
    }
}

From source file:data.DefaultExchanger.java

protected void putLong(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    long value = rs.getLong(index);
    if (rs.wasNull()) {
        generator.writeNull();
    } else {/*  w w w  .  j  a v  a  2 s . com*/
        generator.writeNumber(value);
    }
}

From source file:data.DefaultExchanger.java

protected void putString(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    String string = rs.getString(index);
    if (string == null) {
        generator.writeNull();
    } else {//  w  w  w  .j  a  v  a2 s  .  c  o m
        generator.writeString(string);
    }
}