下面是java格式化json的方法

/**
	 * 格式化
	 * @param jsonStr json数据
	 * @return
	 */
	public static String formatJson(String jsonStr) {
		if (null == jsonStr || "".equals(jsonStr)) return "";
		StringBuilder sb = new StringBuilder();

		char last = '\0';
		char current = '\0';
		int indent = 0;
		for (int i = 0; i < jsonStr.length(); i++) {
			last = current;
			current = jsonStr.charAt(i);

			//遇到{ [换行,且下一行缩进
			switch (current) {
				case '{':
				case '[':
					sb.append(current);
					sb.append("<br>");
					indent++;
					addIndentBlank(sb, indent);
					break;

				//遇到} ]换行,当前行缩进
				case '}':
				case ']':
					sb.append("<br>");
					indent--;
					addIndentBlank(sb, indent);
					sb.append(current);
					break;

				//遇到,换行
				case ',':
					sb.append(current);
					if (last != '\\') {
						sb.append("<br>");
						addIndentBlank(sb, indent);
					}
					break;
				default:
					sb.append(current);
			}
		}

		return sb.toString();
	}
/**
	 * 添加space
	 * @param sb
	 * @param indent
	 */
	private static void addIndentBlank(StringBuilder sb, int indent) {
		for (int i = 0; i < indent; i++) {
			sb.append("        ");
		}
	}

下面是js的格式化json代码:

<script type="text/javascript">
 function jsonFomat(id) {
			var text = document.getElementById(id).innerHTML.split("\n").join(" ");
			var t = [];
			var tab = 0;
			var inString = false;
			for (var i = 0, len = text.length; i < len; i++) {
				var c = text.charAt(i);
				if (inString && c === inString) {
					// TODO: \\"
					if (text.charAt(i - 1) !== '\\') {
						inString = false;
					}
				} else if (!inString && (c === '"' || c === "'")) {
					inString = c;
				} else if (!inString && (c === ' ' || c === "\t")) {
					c = '';
				} else if (!inString && c === ':') {
					c += ' ';
				} else if (!inString && c === ',') {
					c += "\n" + space(tab * 2);
				} else if (!inString && (c === '[' || c === '{')) {
					tab++;
					c += "\n" + space(tab * 2);
				} else if (!inString && (c === ']' || c === '}')) {
					tab--;
					c = "\n" + space(tab * 2) + c;
				}
				t.push(c);
			}
			document.getElementById(id).innerHTML = t.join('');
		};
function space(len) {
			var t = [], i;
			for (i = 0; i < len; i++) {
				t.push(' ');
			}
			return t.join('');
		};
 </script>