배열 내에 배열을 만들려고하는데 배열 [x] [y]를 통해 저장된 데이터에 액세스하고 싶습니다. 내가 원하는 방식으로 작동하지 못하는 샘플 코드가 있는데 누군가 문제를 발견 할 수 있는지 궁금합니다. 자바에서 동적으로 연관 배열을 정확히 채우는 방법
$.getJSON("/data/", function(data){
var test = {};
var levels = [1,2,3];
$.each(data, function(key, value){
var cat = data[key];
$.each(levels, function(li,l){
var base = cat[2];
var keys = Object.keys(base);
if (l == 1) {
test[l] = {};
$.each(keys, function(ki,k){
test[l][k] = base[k][0];
});
}
});
});
alert(Object.keys(test[1]));
});
페치 JSON 데이터의 구조
여기에 도시 된 바와 같다 : 가{
"1": ["Distribution", 0,
{
"9": ["Salmonella", 0,
{}],
"6": ["E. coli", 0,
{
"8": ["from pigs", 0,
{}],
"7": ["from humans", 0,
{}]}]}],
"2": ["Adhesin", 0,
{
"1": ["PapG", 1,
{
"2": ["has three subtypes:", 0,
{
"3": ["PapG-I", 0,
{}],
"4": ["PapG-II", 0,
{}],
"5": ["PapG-III", 0,
{}]}]}]}],
"3": ["Receptors", 0,
{}],
"4": ["Disease associations", 0,
{}],
"5": ["Regulation", 0,
{}]
}
위 코드 아무것도 제공하지 않는다 alert(Object.keys(test[1]))
와 테스트 어레이 내의 배열에 값을 저장하지 않는 것 (즉, 단지 공백 경고).
편집 : (아래) 올렉 V. 볼코프에 의해 발견 실수 후 :
$.getJSON("/data/", function(data){
var test = {};
var levels = [1,2,3];
$.each(data, function(key, value){
// var cat = data[key];
$.each(levels, function(li,l){
var base = value[2];
var keys = Object.keys(base);
if (l == 1) {
if ($.inArray(l,test) == -1){
test[l] = {};
}
$.each(keys, function(ki,k){
test[l][k] = base[k][0];
});
}
});
});
alert(Object.keys(test[1]));
});
가 여전히 작동하지.
JSON 형식이 잘못된 것 같습니다. –
@TheSystemRestart 이것이 파이썬 사전이라고 생각합니다. – VisioN
@VisionN - 맞아. JSON 형식을 표시하도록 지금 수정했습니다. –