in src/main/java/com/amazonaws/services/neptune/propertygraph/io/JsonPropertyGraphPrinter.java [124:154]
private void printProperty(Object value, DataType dataType, String formattedKey, boolean forceMultiValue) throws IOException {
if (forceMultiValue) {
List<?> values = isList(value) ? (List<?>) value : Collections.singletonList(value);
generator.writeFieldName(formattedKey);
generator.writeStartArray();
for (Object v : values) {
dataType.printTo(generator, v);
}
generator.writeEndArray();
} else {
if (isList(value)) {
List<?> values = (List<?>) value;
if (values.size() != 1 || printerOptions.json().strictCardinality()) {
generator.writeFieldName(formattedKey);
generator.writeStartArray();
for (Object v : values) {
dataType.printTo(generator, v);
}
generator.writeEndArray();
} else {
dataType.printTo(generator, formattedKey, values.get(0));
}
} else {
dataType.printTo(generator, formattedKey, value);
}
}
}