如何解析 JSON 字符串数组?

How to parse a JSON array of strings?

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

[
"UUID",
"UUID",
...
]

您可以使用 ObjectMapper.readValue() method with 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>>() {});
    }
}

或者您可以使用 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);
    }
}