1. JQuery 사용자라면, 아래 코드로 예쁘게 출력 가능.

JSON.stringify(JSON.parse($('#textarea').val()), null, 4);

2. JQuery 미 사용시 함수

소스 (prettyJson.html)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<script type="text/javascript">
const TAB = '    ';

function prettyJson(jsonText) {
	if(!jsonText) {
		return jsonText;
	}
	
	var prettyJson = new Array();
	var depth = 0;
	var currChar;
	var prevChar;
	var doubleQuoteIn = false;
	
	for(var i = 0; i < jsonText.length; i++) {
		currChar = jsonText.charAt(i);
		
		if(currChar == '\"') {
			if(prevChar != '\\') {
				doubleQuoteIn = !doubleQuoteIn;
			}
		}

		switch(currChar) {
		case '{':
			prettyJson.push(currChar);
			if(!doubleQuoteIn) {
				prettyJson.push('\n');
				insertTab(prettyJson, ++depth);
			}
			break;
		case '}':
			if(!doubleQuoteIn) {
				prettyJson.push('\n');
				insertTab(prettyJson, --depth);
			}
			prettyJson.push(currChar);
			break;
		case ',':
			prettyJson.push(currChar);
			if(!doubleQuoteIn) {
				prettyJson.push('\n');
				insertTab(prettyJson, depth);
			}
			break;
		default:
			prettyJson.push(currChar);
			break;
		}
		
		prevChar = currChar;
	}
	return prettyJson.join('');
}

function insertTab(prettyJson, depth) {
	for(var i = 0; i < depth; i++) {
		prettyJson.push(TAB);
	}
}

function btnSubmit() {
	var jsonText = document.getElementById('jsonText').value;
	document.getElementById('prettyJson').value = prettyJson(jsonText);
}
</script>

</head>
<body>
<p><textarea id="jsonText" rows="15" cols="80">{"fruit1":"apple","fruit2":"banana","fruits":[{"orange"},{"mango"}]}</textarea></p>
<p><input type="button" onclick="btnSubmit()" value="json pretty ▼"></p>
<p><textarea id="prettyJson" rows="15" cols="80"></textarea></p>
</body>
</html>

 

출력 값