Dataset을 이용하여 Json 변환이 필요할 경우가 있다.
특히 여러개의 Dataset을 계층구조를 가진 Json으로 변환해야 할 경우 사용한 방법은 아래와 같다.
1. Dataset을 Object로 변환
this.fn_cvtToObject = function(aDs) {
var arrObj = [];
var sObj = {};
var rowCnt = aDs.getRowCount();
for(var rowIdx=0; rowIdx<rowCnt; rowIdx++) {
for(var colIdx=0; colIdx<aDs.getColCount(); colIdx++) {
var sName = aDs.getColumnInfo(colIdx).name;
var sData = "" + aDs.getColumn(rowIdx, colIdx);
sObj[sName] = sData;
}
if(rowCnt > 1) {
arrObj.push(sObj);
sObj = {};
}
}
if(rowCnt > 1) return arrObj;
else return sObj;
}
※ Dataset이 여러개의 Row를 가질 때 array에 push 후 만들어진 Object의 초기화를 반드시 해줘야 한다.
2. 상위 계층의 Object에 하위 계층의 Object를 추가
var objParent = this.fn_cvtToObject(this.dsParent);
var objChild = this.fn_cvtToObject(this.dsChild);
objParent["하위계층 이름"] = objChild;
3. 만들어진 최종 Object를 Json으로 변환
- JSON.stringify()를 이용
Dataset을 이용하여 복잡한 계층구조를 가진 Json으로 변환이 가능하다.
물론 이렇게 하는 경우는 거의 없을듯...
[Nexacro] Component의 Child를 조회하여 일괄 처리하기 (0) | 2023.10.10 |
---|---|
[Nexacro] Grid Style이 되다가 안되다가??? (0) | 2023.09.25 |
[Nexacro] 여러개의 Grid가 하나의 이벤트 핸들러 사용 시 Dataset 접근 (0) | 2023.09.05 |
[Nexacro] Dataset filtering (0) | 2023.08.29 |
[OZ Report] 알면 편한 component 속성 (0) | 2023.08.25 |
댓글 영역