1.问题现状描述:
在接口交互过程中,经常出现因数据空格问题导致落库后和实际的业务数据不相符,下面提供的方法主要解决json数据中,每个属性value值首尾的空格去除。
2.工具类代码:
/** * 处理JSON数据首尾空格的工具类 * * @param oJson 字符串 * @return 处理后的数据字符串 */ public static Object deleteJsonSpaceUtils(Object oJson) { try { JSONObject json = JSON.parseObject(String.valueOf(oJson)); if (json != null) { for (Map.Entry<String, Object> entry : json.entrySet()) { Object value = entry.getValue(); entry.setValue(String.valueOf(value).trim()); json.put(entry.getKey(), entry.getValue()); if(value == null){ json.put(entry.getKey(), ""); } checkJsonType(json, entry, value); } } return json; } catch (Exception e) { log.error("json数据解析去除空格异常", e); } return oJson; }
3.解决案例:
String data = String.valueOf(Utils.deleteJsonSpaceUtils(param.getData()));
解释说明:param为要入参JSON数据,通过工具类转换并去除空格