如何解析 JSON 字符串数组?

Arz*_*bek 2 java json jackson

我需要使用 Jackson 解析字符串(标识符)数组。我在互联网上没有找到任何示例,它们都展示了如何反序列化某个类的对象数组,但我只需要解析字符串数组(无需为其编写模型类),我该如何去做?JSON 示例:

[
"UUID",
"UUID",
...
]
Run Code Online (Sandbox Code Playgroud)

Rob*_*sen 5

您可以使用ObjectMapper.readValue()带有 a 的方法TypeReference来获取字符串列表:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.List;

public class Test {
    public static void main(String[] args) throws IOException {
        String json = "[\"UUID\",\"UUID\"]";
        ObjectMapper mapper = new ObjectMapper();
        List<String> values = mapper.readValue(json,
                new TypeReference<List<String>>() {});
    }
}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用该ObjectMapper.readValue()方法来String[].class获取字符串数组:

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        String json = "[\"UUID\",\"UUID\"]";
        ObjectMapper mapper = new ObjectMapper();
        String[] values = mapper.readValue(json, String[].class);
    }
}
Run Code Online (Sandbox Code Playgroud)