My use case was to convert an Java POJO into String so it can be passed to be published to AWS Kinesis Firehose Stream.
I was writing this convertToString(), but I'm unable to find the correct way to escape delimiter.
public <T> List<String> convertToString(List<T> objectList, Class<T> tClass) {
        List<String> stringList = new ArrayList<>();
        char delimiter = ',';
        char escape = '\\';
        CsvMapper mapper = new CsvMapper();
        CsvSchema schema = mapper.schemaFor(tClass);
        for (T object : objectList ) {
            try{
                stringList.add(mapper.writer(schema.withColumnSeparator(delimiter).withEscapeChar(escape))
                        .writeValueAsString(object));
            } catch (JsonProcessingException e) {
                System.out.println("Exception : " + e);
            }
        }
        return stringList;
}
Input : SuperHero flash = new SuperHero(1, "Flash", "Barry , Allen", "DC");
Expected Output : 1,Flash,"Barry \, Allen",DC
Output I'm getting : 1,Flash,"Barry , Allen",DC
Can someone point what I'm doing wrong?
 
    