本地JSON.parseObject的String转Map正确,服务器转换报错参考以下排查问题:
1.转换的str字符串在log日志中是否存在中文乱码,如有乱码检查是否调用加/解密方法,以AES解密为例,返回参数是否转换UTF-8
/*** AES解密* @param encryptBytes 待解密的byte[]* @param decryptKey 解密密钥* @return 解密后的String* @throws Exception*/public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) throws Exception {
KeyGenerator kgen = KeyGenerator.getInstance("AES");kgen.init(128);Cipher cipher = Cipher.getInstance(ALGORITHMSTR);cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), "AES"));byte[] decryptBytes = cipher.doFinal(encryptBytes);return new String(decryptBytes,"UTF-8");}
2.str字符串未出现中文乱码,在线工具校验格式是否正确以判断传参符合json格式