gpt4 book ai didi

java - 将多个 json 结果转换为可迭代的

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

我正在尝试将 json 结果映射到我的类实例的 Iterable。

如果我得到 1 个对象结果,我会使用以下方法将它从 JSON 转换为类实例:

private ObjectReader personReader = null;
private ObjectReader getPersonReader() {

if (personReader != null) return personReader;

ObjectMapper mapper = new ObjectMapper();
return personReader = mapper.reader(Person.class);
}
public Person response2Person(ResponseEntity<String> response) {
try {
return getPersonReader().readValue(response.getBody());
} catch (IOException e) {
throw new RuntimeException(e);
}
}

我的 getPersonsReader 方法应该是什么样子来转换包含多个结果的 JSON 字符串?

public Iterable<Person> response2Persons(ResponseEntity<String> response) {
try {
return getPersonsReader().readValue(response.getBody());
} catch (IOException e) {
throw new RuntimeException(e);
}
}

JSON 字符串如下所示:

[
{
"firstname": "Foo",
"lastname": "Bar"
},
{
"firstname": "Elvis",
"lastname": "Presley"
}
]

最佳答案

您可以使用 TypeReference 对参数化类型进行编译时引用:

mapper.reader(new TypeReference<List<Person>>() {});

关于java - 将多个 json 结果转换为可迭代的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695321/

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