in src/main/java/org/apache/sling/models/jacksonexporter/impl/ResourceSerializer.java [186:205]
private void writeValue(final JsonGenerator jgen, final Object value, final SerializerProvider provider) throws IOException {
if (value instanceof InputStream) {
// input stream is already handled
jgen.writeNumber(0);
} else if (value instanceof Calendar) {
calendarSerializer.serialize(value, jgen, provider);
} else if (value instanceof Boolean) {
jgen.writeBoolean(((Boolean)value).booleanValue());
} else if (value instanceof Long) {
jgen.writeNumber(((Long)value).longValue());
} else if (value instanceof Integer) {
jgen.writeNumber(((Integer)value).intValue());
} else if (value instanceof Double) {
jgen.writeNumber(((Double)value).doubleValue());
} else if (value != null) {
jgen.writeString(value.toString());
} else {
jgen.writeString(""); // assume empty string
}
}