标签:ListString begin list JSONUtil redis json List
今天在写项目时,从redis存取数据时报了json格式与List的转换异常:
org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {
下面总结一下将ListString转json存入redis,以及从redis取出json转回ListString:
一、List<String> 转json,这里用hutool工具类
List<String> list = new ArrayList<>();
假如存入数据:
list.add("a");
list.add("b");
String json = JSONUtil.toJsonStr(list);
此时的json格式为 ["a","b"],最外层会有一个[ ],里面每个元素都会有" ";
而如果每一个元素是对象的话,则是这样:
[ { "icon": "/types/ms.png", "updateTime": 1640229871000, "sort": 1, "createTime": 1640175467000, "name": "美食", "id": 1 }, ...... ]
2.String 转成 List<String>
1.利用hutool工具包里的方法(最简单的)
List<String> list = JSONUtil.toList(JSONUtil.parseArray(json),ShopType.class);
ps:其中json是从redis取出的JSON转为String的变量,ShopType.class是要转的对象的Class
例如:
//将redis缓存取到的字符串转化为数组,再将数组转为ShopType类型的list List<ShopType> shopTypeList = JSONUtil.toList(JSONUtil.parseArray(shopTypeStr),ShopType.class);
其他方法:
写一个工具类,去掉前后的[ ],然后循环去掉每一个字符串的",添加到list里
标签:ListString,begin,list,JSONUtil,redis,json,List 来源: https://www.cnblogs.com/imagine-xw/p/16158641.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。