2013-06-14 5 views
1

중첩 된 JSON 구조를 만듭니다. Coldbox는 특히 이것을 쉽게 만듭니다.는 지금 잠시 동안 JSON에 등 CF 구조체를 변환하고, 모든 좋은했습니다 ColdFusion에서

그러나, 나는 현재 jQuery를 데이터 테이블 작업 아래의 형식으로 JSON을 통과해야하고 있습니다.

개체 배열로 시작합니다.

나는 각 객체의 특정 속성이 최종 JSON 문자열로 가고 싶어.

전에서 빙빙 실행 가능성이 완전히이 형식의 JSON에 내 데이터를 변환과 복잡함을하고있다. 누구든지 도움, 또는 쉬운 방법을 제안 할 수 나는이 작업을 수행 할 수 있습니다 .. 내가 냉각 박스에서이 건물입니다 언급 할 가치 또한

. Coldfusion 9

{ "aaData": [ [ "Test1", "[email protected]", "444444444", "<i class=''icon-pencil icon-large'' data-id=''s1''></i>" ],[ "Test2", "[email protected]", "555555555", "<i class=''icon-pencil icon-large'' data-id=''s2''></i>" ],[ "Test3", "[email protected]", "666666666", "<i class=''icon-pencil icon-large'' data-id=''s3''></i>" ] ]} 

많은 감사!

============================================== ======== 여기

코드는 게임 우리는 내가 필요로 무엇 :

var dataStruct = structNew(); 
var dataArray = arrayNew(1); 
var subsArray = arrayNew(1); 
var subs = prc.org.getSubscribers(); 

for (i=1; i<=arrayLen(subs); i++){ 
    arrayAppend(subsArray,"#subs[i].getName()#"); 
    arrayAppend(subsArray,"#subs[i].getEmail()#"); 
    arrayAppend(subsArray,"#subs[i].getMobile()#"); 
    arrayAppend(subsArray,"<i class='icon-pencil icon-large' data-id='s#subs[i].getID()#'></i>"); 
    arrayAppend(dataArray,subsArray); 
    arrayClear(subsArray); 
}; 
structInsert(dataStruct,'aaData',dataArray);  
event.renderData('json',dataStruct); 
+0

어떤 버전의 ColdFusion입니까? –

+0

Coldfusion 9 실행 – Jason

답변

3

OK, 그래서 당신은 개체가 배열을 가지고, 그리고 객체의 모든 속성을 포함 이 JSON 배열로 끝내야합니까? 내가 그 일을 어떤 간단한 방법이 있다고 생각하지 않습니다

create a new array 
loop over the array of objects 
    create a struct 
    put all the values from each object you need to go into the JSON; be mindful to use associative array notation when setting the keys, to perserve the case of the keys 
    append the struct to the new array 
/loop 
serializeJson the new array 

:

그래서이 작업을 수행.

+0

감사합니다. 카메론. 그게 내가 할 일 이었지만 출력 JSON의 데이터는 "이름"이 아니 었습니다 : "값". 그것은 단지 목록의 가치입니다. 구조체를 직렬화하면 키와 값이 모두 JSON에 배치됩니다. – Jason

+2

그럴 경우 "구조체 생성"단계를 "배열 생성"으로 바꾸고 배열의 각 색인 값을 원본 객체에서 가져 와서 값의 순서가 올바른지 확인하십시오. – existdissolve