如何解析 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);
}
}
我需要使用 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);
}
}