2013-04-02 3 views
0

그래서 몇 시간 동안보고 있었는데 아이디어가 없습니다. 내 애플 리케이션은 하나의 JSON 객체를 반환하고, 4 개의 데이터 세트를 파싱하고 3 개의 차트와 테이블을 만들어야한다. 내 인생에서 나는 각 부분을 "추출"하는 방법을 알 수 없다. 같은 JSON 보이는 : 그 각각에 대해 (12426597,878198 6447271)를 단지 세 가지 핵심의/ID에 대한 데이터를 잡고 하나 개의 막대 차트를 만들 필요가하나의 JSON을 여러 객체로 분할하십시오.

{ 
    "allele":{ 
     "12426597":{ 
     "??":4, 
     "CC":3, 
     "TT":4, 
     "CT":12 
     }, 
     "878198":{ 
     "??":4, 
     "AA":1, 
     "AC":15, 
     "CC":3 
     }, 
     "6447271":{ 
     "??":4, 
     "GG":14, 
     "AG":5 
     } 
    }, 
    "haplo":{ 
     "CT,AG,AC":3, 
     "TT,GG,AC":1, 
     "CC,GG,CC":1, 
     "TT,AG,CC":1, 
     "TT,GG,CC":1 
    }, 
    "exercise":"p1" 
} 

(A data transformation < == 참조 필요) . 그렇다면 Highcharts에 연결해야합니다 ... 키와 값을위한 정렬 된 배열을 요구하는 API.

내가 먼저 ID의 배열을 만드는 방법에 대한 생각 :

않습니다
var snpsObj = data.allele_frequency; // data returned from $.getJSON 
var snpList = []; 

for (prop in snpsObj) { 
    if (!snpsObj.hasOwnProperty(prop)) { 
     continue; 
    } 
    snpList.push(prop); 
} 

이 나에게 원하는 배열을 얻는다. ...

snpsObj.snpList[0]; 

, 희망 같은 것을 반환 : 그리고처럼 "하위"키를 액세스

{ 
    "CC" : 23, 
    "CT" : 36, 
    "TT" : 12, 
} 

을하지만 전혀 작동하지 않습니다. ... 내 머리 감기 뿌옇게 마음에 난 그냥 잊고 기본적인 뭔가 거기에 어떤 제안 내가 아는

allele_frequency : [object Object ] 

: 내가 얻을 수있는 가장 좋아하는 뭔가의 반환했다?

카테고리 :

Highcharts이 같은 어레이에서 포맷 키 라벨 필요 [ 'C', 'T'] 데이터 : 3, 9] // C = 3, T = 9

+0

'snpList.push (snpsObj [prop]);'속성 이름 대신 실제 값을 푸시면 안됩니까? – Quantastical

답변

2

나는 당신이 "snpList"당신의 snpsObj 개체의 재산를 얻기 위해 노력할 것이다 bracket notation, snpsObj.snpList[0]를 사용하여

snpsObj[ snpList[0] ] 

에 액세스하려는 생각합니다.

Btw 대신 for-loop를 사용하여 속성 이름이있는 배열을 만들면 Object.keys을 사용할 수 있습니다 (예전 브라우저를 지원하기 위해 shim을 사용해야하는 경우에도).

관련 문제