redisTemplate.opsForHash().values(RedisKeyUtils.ORG_UNIT_MAP_KEY)返回json字符串的list, redis中存储的类型为{"lastUpdateCode":"AUTO","parentUnitCode":10000002,"unitCode":10000501,"unitName":"集团总部测试组织(CH)","unitScope":"1","zbu":"10000002"}. 使用fastjson将json字符串转换为对象,得到List<OrgUnitCache> list
时间: 2023-07-09 22:54:17 浏览: 158
将json字符串转换为对象
你可以使用以下代码将JSON字符串转换为List<OrgUnitCache>:
```
List<OrgUnitCache> list = new ArrayList<>();
String jsonStr = null;
List<Object> values = redisTemplate.opsForHash().values(RedisKeyUtils.ORG_UNIT_MAP_KEY);
for (Object value : values) {
jsonStr = JSON.toJSONString(value);
OrgUnitCache orgUnitCache = JSON.parseObject(jsonStr, OrgUnitCache.class);
list.add(orgUnitCache);
}
```
首先,通过redisTemplate的opsForHash()方法获取指定key的所有values。这些values都是JSON字符串类型的,需要将它们转换为Java对象类型。使用for循环遍历所有的values,将每个值先转换为JSON字符串类型,然后使用JSON.parseObject()方法将其转换为OrgUnitCache对象类型,并添加到List中。最后返回List<OrgUnitCache>对象即可。
阅读全文