1. 程式人生 > >JSON後臺處理特殊字符方法,在JSONArray.fromObject轉換時處理

JSON後臺處理特殊字符方法,在JSONArray.fromObject轉換時處理

替換 ces return class 雙引號 string sonar substring log

/**
* 替換一個字符串中的某些指定字符
* @param strData String 原始字符串
* @param regex String 要替換的字符串
* @param replacement String 替代字符串
* @return String 替換後的字符串
*/
public static String replaceString(String strData, String regex, String replacement) {
    if (strData == null) {
        return null;
    }
    int index;
    index = strData.indexOf(regex);
    String strNew = "";
    if (index >= 0) {
        while (index >= 0) {
            strNew += strData.substring(0, index) + replacement;
            strData = strData.substring(index + regex.length());
            index = strData.indexOf(regex);
        }
        strNew += strData;
        return strNew;
    }
    return strData;
}


/**
*
替換字符串中特殊字符

*/
public static String encodeString(String strData) {
    if (strData == null) {
        return "";
    }
    strData = replaceString(strData, "&", "&");
    strData = replaceString(strData, "<", "<");
    strData = replaceString(strData, ">", ">");
    strData = replaceString(strData, "‘", "‘");
    strData = replaceString(strData,"\\", "\\\\");//對斜線的轉義
    //strData = replaceString(strData, "\"", """); 雙引號這個可能不是特殊字符
    return strData;
}
/**
*
還原字符串中特殊字符

*/
public static String decodeString(String strData) {
    strData = replaceString(strData, "<", "<");
    strData = replaceString(strData, ">", ">");
    strData = replaceString(strData, "‘", "‘");
    strData = replaceString(strData, """, "\"");
    strData = replaceString(strData, "&", "&");
    return strData;
}

  

JSON後臺處理特殊字符方法,在JSONArray.fromObject轉換時處理