如何在spring项目中使用jackson将jsonarray转换为字符串数组[关闭]

问题描述 投票:-2回答:1

如何在春天使用jackson将jsonarray转换为字符串数组

{"number":[5,3,6,7,9,8,10,11,12,13,14,15,19,26]}

这应该使用jackson转换为对象的array []

java jackson
1个回答
1
投票

除了这个事实,将数字数组转换为字符串数组似乎没什么用处,杰克逊会毫无问题地读取它:

String json = "{\"number\":[5,3,6,7,9,8,10,11,12,13,14,15,19,26]}";
ObjectMapper mapper = new ObjectMapper();
MyObject object = mapper.readValue(json, MyObject.class);

MyObject看起来像这样:

private static class MyObject {
    private String[] number;

    public String[] getNumber() {
        return number;
    }

    public void setNumber(String[] number) {
        this.number = number;
    }
}

要获得数组,您可以使用mapper.readTree()获取JsonNode。之后,您可以提取数组并使用java stream API来解析它:

String[] array = StreamSupport.stream(mapper.readTree(json).get("number").spliterator(), false)
        .map(JsonNode::asText)
        .toArray(String[]::new);
© www.soinside.com 2019 - 2024. All rights reserved.