當前位置:編程學習大全網 - 源碼下載 - 如何用jackson解析含有轉義字符的字符串,為標準格式的json字符串

如何用jackson解析含有轉義字符的字符串,為標準格式的json字符串

使用JSON從後臺向前臺傳輸數據的時候,當數據本身含有壹些特殊字符,會導致JSON數據的解析出錯。

使用下面的方法對即將向前臺輸出的json字符串進行處理,可以解決鍵盤上能輸入的所有特殊字符問題。  

//當文本中含有如下特殊字符時,此方法可以成功處理,讓其在前臺被正確解析,註意:此法不能處理單引號

public static String stringToJson(String s) {

StringBuffer sb = new StringBuffer ();

for (int i=0; i<s.length(); i++) {

char c = s.charAt(i);

switch (c) {

case '\"':

sb.append("\\\"");

break;

// case '\\': //如果不處理單引號,可以釋放此段代碼,若結合下面的方法處理單引號就必須註釋掉該段代碼

// sb.append("\\\\");

// break;

case '/':

sb.append("\\/");

break;

case '\b': //退格

sb.append("\\b");

break;

case '\f': //走紙換頁

sb.append("\\f");

break;

case '\n':

sb.append("\\n"); //換行

break;

case '\r': //回車

sb.append("\\r");

break;

case '\t': //橫向跳格

sb.append("\\t");

break;

default:

sb.append(c);

}}

return sb.toString();

}

//註意,下面的方法是在把妳的數據文本接入json數據字符串之前使用,預先對文本做處理後在接入JSON字符串

//處理文本中的單引號 和 斜杠

public static String StringDanYinToJSON(String ors) {

ors = ors == null ? "" : ors;

StringBuffer buffer = new StringBuffer(ors);

int i = 0;

while (i < buffer.length()) {

if (buffer.charAt(i) == '\'' || buffer.charAt(i) == '\\') {

buffer.insert(i, '\\');

i += 2;

} else {

i++;

}

}

return buffer.toString();

}

  • 上一篇:python有什麽優缺點呢?
  • 下一篇:YDB是什麽?
  • copyright 2024編程學習大全網