【用户匹配项目】学习过程遇到的坑
gson识别数据库里的字段必须按照设定的,传数组就是数组 比如["java","python"],这个是可以被直接识别且不会查询出错的 但是如果是"[java,python]",就会被判断称字符串,直接报错,前面自己测试sql模糊查询放了个这个,误导了内存查询的方法
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $
解决办法也有,强制修正一下,也能查出来这种异常情况,且不会报错
▼text复制代码// 检查并修正字符串格式的JSON if (tagsStr.startsWith("\"[") && tagsStr.endsWith("]\"")) { tagsStr = tagsStr.substring(1, tagsStr.length() - 1).replace("\\\"", "\""); } Set<String> tempTagNameSet = gson.fromJson(tagsStr, new TypeToken<Set<String>>() {}.getType()); tempTagNameSet = Optional.ofNullable(tempTagNameSet).orElse(new HashSet<>());
相关专栏
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论

