docs: public static String format(String json) {
  		final StringBuffer result = new StringBuffer();
  
  		Character wrapChar = null;
  		boolean isEscapeMode = false;
  		int length = json.length();
  		int number = 0;
  		char key = 0;
  		for (int i = 0; i < length; i++) {
  			key = json.charAt(i);
  			
  			if('"' == key || '\'' == key) {
  				if(null == wrapChar) {
  					//字符串模式开始
  					wrapChar = key;
  				}else if(isEscapeMode) {
  					//在字符串模式下的转义
  					isEscapeMode = false;
  				}else if(wrapChar.equals(key)){
  					//字符串包装结束
  					wrapChar = null;
  				}
  				result.append(key);
  				continue;
  			}else if('\\' == key) {
  				if(null != wrapChar) {
  					//字符串模式下转义有效
  					isEscapeMode = !isEscapeMode;
  					result.append(key);
  					continue;
  				}else {
  					result.append(key);
  				}
  			}
  			
  			if(null != wrapChar) {
  				//字符串模式
  				result.append(key);
  				continue;
  			}
  			
  			//如果当前字符是前方括号、前花括号做如下处理：
  			if ((key == '[') || (key == '{')) {
  				//如果前面还有字符，并且字符为“：”，打印：换行和缩进字符字符串。
  				if ((i - 1 > 0) && (json.charAt(i - 1) == ':')) {
  					result.append(NEW_LINE);
  					result.append(indent(number));
  				}
  				result.append(key);
  				//前方括号、前花括号，的后面必须换行。打印：换行。
  				result.append(NEW_LINE);
  				//每出现一次前方括号、前花括号；缩进次数增加一次。打印：新行缩进。
  				number++;
  				result.append(indent(number));
  
  				continue;
  			}
  
  			// 3、如果当前字符是后方括号、后花括号做如下处理：
  			if ((key == ']') || (key == '}')) {
  				// （1）后方括号、后花括号，的前面必须换行。打印：换行。
  				result.append(NEW_LINE);
  				// （2）每出现一次后方括号、后花括号；缩进次数减少一次。打印：缩进。
  				number--;
  				result.append(indent(number));
  				// （3）打印：当前字符。
  				result.append(key);
  				// （4）如果当前字符后面还有字符，并且字符不为“，”，打印：换行。
  				if (((i + 1) < length) && (json.charAt(i + 1) != ',')) {
  					result.append(NEW_LINE);
  				}
  				// （5）继续下一次循环。
  				continue;
  			}
  
  			// 4、如果当前字符是逗号。逗号后面换行，并缩进，不改变缩进次数。
  			if ((key == ',')) {
  				result.append(key);
  				result.append(NEW_LINE);
  				result.append(indent(number));
  				continue;
  			}
  			// 5、打印：当前字符。
  			result.append(key);
  		}
  
  		return result.toString();
  	}