需求是 从redis里拿到一个list 属性是一个对象 对象的属性值为json 拿到json串里的指定值
List<CompareWithApiResult> compareResultList = new ArrayList<>(); //根据对比结果ID拿值 List<String> list = stringRedisTemplate.opsForList().range(compareId, 0, -1); for (String orgCompareResultJson : list) {
FinanceOrganizationCompare compare = gson.fromJson(orgCompareResultJson, FinanceOrganizationCompare.class);
拿到指定属性的json串 并解析出来json指定的值
String enterpriseName = compare.getEnterpriseName(); CompareWithApiResult compareName = GsonUtils.GSON.getGson().fromJson(enterpriseName, CompareWithApiResult.class); if (!StringUtils.equalsIgnoreCase(orgIdCompareResult.getRecommend(), requestDto.getOrganizationId())) { continue; }
遍历实体类拿到所有属性
Field[] declaredFields = compare.getClass().getDeclaredFields(); for (Field field : declaredFields) { field.setAccessible(true); String fieldValue = field.get(compare).toString(); CompareWithApiResult compareWithApiResult = GsonUtils.GSON.getGson().fromJson(fieldValue, CompareWithApiResult.class); compareResultList.add(compareWithApiResult);}