in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/impl/JsonConvert.java [127:149]
public static JsonObjectBuilder addTo(JsonObjectBuilder builder, String key, Object value) {
value = convertJcrValue(value);
if (value instanceof Byte || value instanceof Short || value instanceof Integer || value instanceof Long) {
builder.add(key, ((Number) value).longValue());
} else if (value instanceof BigDecimal) {
builder.add(key, (BigDecimal) value);
} else if (value instanceof BigInteger) {
builder.add(key, (BigInteger) value);
} else if (value instanceof Boolean) {
builder.add(key, (Boolean) value);
} else if (value instanceof Float || value instanceof Double) {
builder.add(key, ((Number) value).doubleValue());
} else if (value instanceof Privilege) {
JsonObjectBuilder privilegeBuilder = Json.createObjectBuilder();
privilegeBuilder.add("name", ((Privilege) value).getName());
builder.add(key, privilegeBuilder);
} else if (value instanceof String) {
builder.add(key, (String) value);
} else {
builder.add(key, value.toString());
}
return builder;
}