色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

gson去除json注釋

劉柏宏2年前10瀏覽0評論

在使用Gson解析JSON時,經常會出現JSON中包含注釋的情況。然而,Gson本身并不支持直接去除JSON中的注釋。但我們可以使用以下代碼自行實現:

public static String removeComments(String jsonString) {
StringBuilder sb = new StringBuilder(jsonString);
boolean isInQuote = false;
char lastChar = '0';
for (int i = 0; i< sb.length(); i++) {
char c = sb.charAt(i);
if (c == '"' && lastChar != '\\') {
isInQuote = !isInQuote;
}
if (!isInQuote) {
if (c == '/' && lastChar == '/') {
sb.deleteCharAt(i - 1);
sb.deleteCharAt(i - 1);
i -= 2;
} else if (c == '*' && lastChar == '/') {
sb.deleteCharAt(i - 1);
sb.deleteCharAt(i - 1);
i -= 2;
while (sb.charAt(i) != '*' || sb.charAt(i + 1) != '/') {
sb.deleteCharAt(i);
}
sb.deleteCharAt(i);
sb.deleteCharAt(i);
i -= 2;
}
}
lastChar = c;
}
return sb.toString();
}

以上代碼通過遍歷JSON字符串的每一個字符,使用標志位記錄是否處于引號中,再根據當前字符和相鄰字符的關系,判斷是否為注釋內容并刪除。

可以看到,雖然Gson本身并不支持去除JSON注釋,但通過以上代碼實現,我們可以輕松地實現去除JSON注釋的需求。