gpt4 book ai didi

java - 使用 TypeReference 将 STRING 转换为 ArrayList

转载 作者:行者123 更新时间:2023-11-30 07:57:09 26 4
gpt4 key购买 nike

str = "[tdr1w6v, tdr1w77]";
ObjectMapper objectMapper = new ObjectMapper();
JavaType type = objectMapper.getTypeFactory().
constructCollectionType(ArrayList.class, String.class);
ArrayList<String> list = null;
try {
list = objectMapper.readValue(str,
new TypeReference<ArrayList<String>>(){});
} catch (IOException e) {
e.printStackTrace();
}

这里抛出异常:

com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'tdr1w6v': was expecting 'null', 'true', 'false' or NaN

如何将 str 转换为字符串的 ArrayList?

最佳答案

@FedericoPeraltaSchaffner 的建议很有帮助。现在我要做的是,在我的 Binder 类中使用 objectMapper.writeValueAsString 转换数据以存储在数据库中。在我的 Mapper 类中,在从数据库读取数据时,我可以使用与问题中相同的方式:

ObjectMapper objectMapper = new ObjectMapper();
ArrayList<String> list = null;
try {
list =objectMapper.readValue(str, new TypeReference<ArrayList<String>>(){});
} catch (IOException e) {
e.printStackTrace();
}

所以现在我不必创建单独的 DTO 类,我可以在服务层和 DAO 中使用相同的模型。

关于java - 使用 TypeReference 将 STRING 转换为 ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32508435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com