A JSONObject text must begin with '{' at 1 [character 2 line 1],将ListString转json(存入redis),
2022/4/18 19:14:04
本文主要是介绍A JSONObject text must begin with '{' at 1 [character 2 line 1],将ListString转json(存入redis),,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天在写项目时,从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里
这篇关于A JSONObject text must begin with '{' at 1 [character 2 line 1],将ListString转json(存入redis),的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15基于JSON的大型语言模型代理与Ollama及LangChain的应用
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法