將一個(gè)json對(duì)象或json字符串格式化成具有簡(jiǎn)單的格式 下面是代碼的實(shí)現(xiàn):
public class PRettyJSON { public static String pretty(String jsonStr) { StringBuffer sb = new StringBuffer(); char[] charArray = jsonStr.toCharArray(); char[] stack = new char[1024]; // 存放括號(hào),如 "{","}","[","]" int top = -1; for (int i = 0; i < charArray.length; i++) { char c = charArray[i]; if ('{' == c || '[' == c) { stack[++top] = c; // 將括號(hào)添加到數(shù)組中,這個(gè)可以簡(jiǎn)單理解為棧的入棧 sb.append(charArray[i] + "/n"); for (int j = 0; j <= top; j++) { sb.append("/t"); } continue; } if ((i + 1) <= (charArray.length - 1)) { char d = charArray[i + 1]; if ('}' == d || ']' == d) { top--; // 將數(shù)組的最后一個(gè)有效內(nèi)容位置下標(biāo)減 1,可以簡(jiǎn)單的理解為將棧頂數(shù)據(jù)彈出 sb.append(charArray[i] + "/n"); for (int j = 0; j <= top; j++) { sb.append("/t"); } continue; } } if (',' == c) { sb.append(charArray[i] + "/n"); for (int j = 0; j <= top; j++) { sb.append("/t"); } continue; } sb.append(c); } return sb.toString(); } }新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注