Bladeren bron

[task-4567]列表删除,解析JSON,报错
问题原因:日志记录存储表t_business_log中存的历史数据不是标准的json格式数据,在json转换时报错
解决方案:
将错误格式数据转换为正常的json格式。

xiexh 10 maanden geleden
bovenliggende
commit
1f4760641e

+ 4 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/impl/AuditServiceImpl.java

@@ -333,7 +333,10 @@ public class AuditServiceImpl implements AuditService {
         String sql = "select data_ from "+LOG_TABLE+" where id_ ='"+logId+"'";
         Map<String,Object> map = commonDao.queryOne(sql);
         if (BeanUtils.isNotEmpty(map) && BeanUtils.isNotEmpty(map.get("data_"))){
-            JSONArray jsonArray = JSONUtil.parseArray(map.get("data_").toString());
+            String replaceSql = map.get("data_").toString().replaceAll("\\\\", "").
+                    replaceAll("\"\\[","[").replaceAll("]\"","]");
+            JSONArray jsonArray = JSONUtil.parseArray(replaceSql);
+            //JSONArray jsonArray = JSONUtil.parseArray(map.get("data_").toString());
             StringBuilder sqlBuilder = new StringBuilder();
             for (int i = 0; i < jsonArray.size(); i++) {
                 JSONObject jsonObject = jsonArray.getJSONObject(i);