将JSON数组转化为List集合_json转list-程序员宅基地

技术标签: spring boot  java  json  redis  

假如我们向redis中存放了一个JSON数组,从中获取的时候需要将JSON数组转化为List集合,然后将List对象返回给前端。

1.引入hutool和fastjson依赖

        <!--hutool-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.17</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.66</version>
        </dependency>

2.hutool的作用是使用JSONUtil类将数据库查到的List集合转化成JSON数组,存到redis中

List<ShopType> typeList = typeService.query().list();
String typeListJson = JSONUtil.toJsonStr(typeList);
stringRedisTemplate.opsForValue().set("shopList",typeListJson);

3.fastjson的JSONObject类作用是将JSON数组转换成List集合

String shopList = stringRedisTemplate.opsForValue().get("shopList");
List<ShopType> list = JSONObject.parseArray(shopList, ShopType.class);
return Result.ok(list);

完整代码:

    @GetMapping("list")
    public Result queryTypeList() {
        String shopList = stringRedisTemplate.opsForValue().get("shopList");
        if(StringUtils.isEmpty(shopList)){
            List<ShopType> typeList = typeService
                    .query().orderByAsc("sort").list();

            String typeListJson = JSONUtil.toJsonStr(typeList);
            stringRedisTemplate.opsForValue().set("shopList",typeListJson);
            return Result.ok(typeList);
        }
        List<ShopType> list = JSONObject.parseArray(shopList, ShopType.class);
        return Result.ok(list);
    }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43510558/article/details/124133396

智能推荐

Elasticsearch6.5.4版本集群安装设置密码_it doesn't look like the x-pack security feature i-程序员宅基地

文章浏览阅读2.9k次。1.ES安装配置文件1.1主节点配置文件# ======================== Elasticsearch Configuration =========================# ---------------------------------- Cluster -----------------------------------cluster.name: GzEsCluster# ------------------------------------ Node_it doesn't look like the x-pack security feature is available on this elasti

Mac安装TensorFlow/Caffe_mac怎么下载tensorflow caffe-程序员宅基地

文章浏览阅读1.3k次。参考:http://www.linuxidc.com/Linux/2016-09/135026.htm https://gist.github.com/doctorpangloss/f8463bddce2a91b949639522ea1dcbe4sudo brew install -vd snappy leveldb gflags glog szip lmdbsudo brew tap home_mac怎么下载tensorflow caffe

xfs文件系统的备份与恢复_xfs 备份-程序员宅基地

文章浏览阅读503次。什么是XFS文件系统XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Linux系统中。在linux环境下。目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下。我们在这里要讲的是xfsdump和xfsrestore命令:XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xf..._xfs 备份

import在vue中使用_vue import-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏11次。vue中使用Import导入的方法_vue import

第一篇-程序员宅基地

文章浏览阅读475次。实验

idea 开发springmvc 非maven版_idea java springmvc 非maven-程序员宅基地

文章浏览阅读362次。开发环境jdk1.8.0_92 tomcat8创建工程打开IntelliJ IDEA 新建一个project,选择spring MVC,然后点击next给project随便起一个名字,点击finish创建完成的project目录如下首先打开web/WEB-INF目录下的web.xml文件,如下,把url-pattern的值_idea java springmvc 非maven

随便推点

crs卸载_卸载crs-程序员宅基地

文章浏览阅读644次。安装rac最头疼的就是crs关于crs的卸载 比如当你安装crs的时候 出错不能next 那么卸了重新来过以下是来自metalink的 Doc ID: 239998.1PURPOSE-------The purpose of this document is to help DBA's and support analysts understand _卸载crs

Android studio 版本升级要到问题_android studio版本更新后-程序员宅基地

文章浏览阅读340次。Android Studio 版本更新之后,遇到的问题。首先是这两个设置主要是与当前studio 的版本相关。Android Plugin Version这个版本号,是与studio安装路径下D:\Program Files\Android\Android Studio\gradle\m2repository\com\android\tools\build\gradle,如下图所示:..._android studio版本更新后

k-core与k-shell的区别_kshell和kcore-程序员宅基地

文章浏览阅读2.3k次。一、问题描述:在文章中看到k-core与k-shell的概念,将全局图中分成2-core与1-shell的概念?结论:图可以说明一切,如图所示:1、2-core是包含蓝色与绿色的点,3-core会包含全部的点2、1-shell指的是黄色的点3、推断:任何一个图均可以分成k-core图与(k-1)-shell..._kshell和kcore

关于Vue的各个UI框架(elementUI、mint-ui、VUX)-程序员宅基地

文章浏览阅读793次。elementUI官网:http://element.eleme.io/使用步骤:1、安装完vue-cli后,再安装 element-ui命令行:npm i element-ui -D相当于 npm install element-ui --save-dev// i -> install D -> --save-dev S ..._miniui和elementui是什么关系

DP--最长公共子序列_dp最长公共子序列-程序员宅基地

文章浏览阅读513次。继续用典型问题来讨论动态规划的两个特性(重叠子问题和最优子结构)。最长公共子序列(LCS)问题描述:给定两个序列,找出在两个序列中同时出现的最长子序列的长度。一个子序列是出现在相对顺序的序列,但不一定是连续的。例如,“ABC”,“ABG”,“BDF”,“AEG”,“acefg“,..等都是”ABCDEFG“ 序列。因此,长度为n的字符串有2 ^ n个不同的可能的序列。注意最长公共子_dp最长公共子序列

特斯拉D1芯片遭实名diss:内存到封装都成问题,网友:反正不能公开测评-程序员宅基地

文章浏览阅读160次。明敏 发自 凹非寺量子位 报道 | 公众号 QbitAI在今年特斯拉AI开放日上,D1芯片风光无限。独特的晶圆封装系统+芯片设计,让D1在训练万亿参数级神经网络时,可以拥有数量级优势。特斯..._特斯拉 d1

推荐文章

热门文章

相关标签