[JSON Tip!] JSON 문자열 formatting 하기!!!
조금은 쪽팔린 일일 것 같지만 너무나 황당하고 기뻐서 짧게나마 쓴다.
매번 javascript에서 JSON.stringify(jsonObj); 하고나서 읽기가 불편해서 편집기에서 줄바꾸는 개고생을 했는데...
옵션이 있었을줄이야...ㅠ.ㅠ
JSON 객체의 stringify 함수는 기본 파라미터인 json 객체 외에 옵션으로 2개의 인자를 더 넘길 수 잇는데,
두 번째 인자는 일종의 filtering 기능을 하는 파라미터로 json 객체의 key와 value를 파라미터로 받아
지지고 볶은 후 그 결과만 리턴을 해주는 기능을 한다(자세한 것은 이곳 참조 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). 이 기능도 잘 활용하면 큰 도움이 될 것 같다.
그리고 중요한 마지막 파라미터가 바로 json 포맷의 문자열을 정렬해주는 기능을 한다.
단순히 숫자를 입력하면 space를 숫자만큼 띄우고 그밖에 escape 문자로 '\t' 등을 입력하여 적절한 indent를
줄 수 있다.
다음은 각각 그 예이다.
$('#_query-area').val(JSON.stringify(tableObj));
결과
{"table":[{"name":"우형준","id":"abcd","password":"abcd1234","email":"aaa@bbbl.com","_id":"0"}],"tableName":"UserTable"}
$('#_query-area').val(JSON.stringify(tableObj, null, 4));
결과
{
"table": [
{
"name": "우형준",
"id": "abcd",
"password": "abcd1234",
"email": "aaa@bbb.com",
"_id": "0"
}
],
"tableName": "UserTable"
}
역시 공부해야 한다...ㅠ.ㅠ;