본문 바로가기

IT노트(구)/JavaScript

table을 json으로 변환하는 소스

table을 json으로 변환하는 소스는 다음과 같다!(table이라는 직관적인 데이터를 기반으로 json을 뽑아낼 수 있어서 상당히 자주 사용되는 구문인 것 같다!)


<script>

function tableToJson(table) { // 변환 함수
    var data = [];

    var headers = [];
    for(var i=0; i<table.rows[0].cells.length; i++) {
        headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi,'');
    }

    for(var i=1; i<table.rows.length; i++) {
        var tableRow = table.rows[i];
        var rowData = {};

        for(var j=0; j<tableRow.cells.length; j++) {
            rowData[headers[j]] = tableRow.cells[j].innerHTML;
        }
        data.push(rowData);
    }

    return data;
}
</script>

<script>
        var jsonObj
= tableToJson(document.getElementById("data")); // table id를 던지고 함수를 실행한다.
        alert(JSON.stringify(jsonObj)); // JSON 객체가 리턴된다!
</script>