gpt4 book ai didi

java - 如何将对象的 json 数组对象转换为该对象的 java 8 可选列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:45 25 4
gpt4 key购买 nike

   public Optional<GetCategoryResponseDto> GetCategory(AppUser foundUser) throws Exception {

Optional<GetCategoryResponseDto> optional;
JSONParser parser = new JSONParser();
org.json.simple.JSONObject json;
//fix for lazy user details not loaded
if (foundUser.getAppUserDetail() == null) {
foundUser = appUserService.findByID(foundUser.getId()).orElseThrow(() -> new ModelNotFoundException("Invalid user"));
}
LOGGER.debug("foundUser {} ", gson.toJson(foundUser.getAppUserDetail().getPhoneNumber()));

String output = getCategoryServiceController.myGetCategory();
LOGGER.debug("output {} ", output);
json = (JSONObject) parser.parse(output);
ObjectMapper mapper = new ObjectMapper();
GetCategoryResponseDto dto = new GetCategoryResponseDto();
dto = mapper.readValue((DataInput) json, GetCategoryResponseDto.class);
return Optional.of(dto);

那是更新后的代码,仍然是这一行“GetCategoryResponseDto dto = mapper.readValue(json, GetCategoryResponseDto.class);”仍然导致语法错误

最佳答案

如果下行返回 JSON 格式的字符串,那么您不需要任何 JSONParser

String output = getCategoryServiceController.myGetCategory();

ObjectMapperreadValue采用 String 的方法和 Class<T>作为参数

public <T> T readValue(String content,
Class<T> valueType)
throws IOException,
JsonParseException,
JsonMappingException

你可以直接用那个方法

String output = getCategoryServiceController.myGetCategory();
LOGGER.debug("output {} ", output

GetCategoryResponseDto dto = mapper.readValue(json, GetCategoryResponseDto.class

return Optional.of(dto);

注意 GetCategory 中有很多不必要的行, 例如

Optional<GetCategoryResponseDto> optional;
org.json.simple.JSONObject json = null;

我也看到了 mapper为空,您可能会遇到 NullPointerException如果为空

关于java - 如何将对象的 json 数组对象转换为该对象的 java 8 可选列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58014532/

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