Java 處理json字符串value中多余的雙引號


轉:

 

Java 處理json字符串value中多余的雙引號

 

一、錯誤場景

  json字符串的value值中有多余的雙引號

1、直接上錯誤的json字符串

1
String errorJsonStr =  "{\"userName\":\"瑞文\"綠色\",\"hero\":\"f放逐之刃\" 盤子\"}" ;

二、處理方案

1、第一種 :

1、 將 {" 替換為 {%         // % 也可以是其他字符,自己認識就好,但是要注意要處理的字符串中不包含你要換成的這個特殊字符
    將  ":"  替換為 %:% 
    將  ”,   替換為 %, 2、 將多余的 雙引號替換為空字符串

2、第二種(推薦使用此方法):

自己寫個方法將value值中多余的雙引號替換為 中文雙引號,直接上代碼:

復制代碼
public class MainTest { public static void main(String[] test) { String errorJsonStr = "{\"userName\":\"瑞文\"綠色\",\"hero\":\"f放逐之刃\" 盤子\"}"; errorJsonStr = toJsonString(errorJsonStr); System.out.println(errorJsonStr); } // 處理json字符串中value多余的雙引號, 將多余的雙引號替換為中文雙引號 private static String toJsonString(String s) { char[] tempArr = s.toCharArray(); int tempLength = tempArr.length; for (int i = 0; i < tempLength; i++) { if (tempArr[i] == ':' && tempArr[i + 1] == '"') { for (int j = i + 2; j < tempLength; j++) { if (tempArr[j] == '"') { if (tempArr[j + 1] != ',' && tempArr[j + 1] != '}') { tempArr[j] = '”'; // 將value中的 雙引號替換為中文雙引號 } else if (tempArr[j + 1] == ',' || tempArr[j + 1] == '}') { break; } } } } } return new String(tempArr); } }
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM