首页 > 解决方案 > jackson-dataformats-text 如何将数组分隔符定义为方括号'[]'

问题描述

如何将数组分隔符定义为方括号'[]'?eg:1,[1,2,3],['name01','name02','name03'],'pen',1 下面代码的输出是:1,'1,2,3',' name01,name02,name03',pen,1 预期输出为:1,[1,2,3],['name01','name02','name03'],'pen',1

public class CsvTest {
public static void main(String[] args) throws JsonProcessingException {
    OrderDto orderDto = new OrderDto(1L, "pen", 1, Arrays.asList("name01", "name02", "name03"), Arrays.asList(1, 2, 3));
    CsvMapper mapper = new CsvMapper();
    // schema from 'Pojo' definition
    CsvSchema schema = mapper.schemaFor(OrderDto.class).withoutHeader().withAllowComments(true);
    String csv = mapper.writer(schema).writeValueAsString(orderDto);

    // 结果:1,'1,2,3','name01,name02,name03',pen,1
    // 期待的结果:1,[1,2,3],['name01','name02','name03'],'pen',1
    System.out.println(csv);
}

public static class OrderDto {

    private Long user;
    private String product;
    private Integer amount;
    private List<String> name_list;
    private List<Integer> id_list;
}


标签: csvjackson

解决方案


推荐阅读