diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSON.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSON.java new file mode 100644 index 000000000..15831fd46 --- /dev/null +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSON.java @@ -0,0 +1,23 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_any; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; +import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; + +import java.util.function.Function; + +/** + * Convert the input object to a JSON string with Gson. + */ +@ThreadSafeMapper +@Categories({Category.conversion}) +public class ToJSON implements Function { + private final static Gson gson = new GsonBuilder().create(); + + @Override + public String apply(Object o) { + return gson.toJson(o); + } +} diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSONPretty.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSONPretty.java new file mode 100644 index 000000000..5b0b9596b --- /dev/null +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_any/ToJSONPretty.java @@ -0,0 +1,23 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_any; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; +import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; + +import java.util.function.Function; + +/** + * Convert the input object to a JSON string with Gson, with pretty printing enabled. + */ +@ThreadSafeMapper +@Categories({Category.conversion}) +public class ToJSONPretty implements Function { + private final static Gson gson = new GsonBuilder().setPrettyPrinting().create(); + + @Override + public String apply(Object o) { + return gson.toJson(o); + } +}