중첩된 JSON 개체 - 모든 작업에 어레이를 사용해야 합니까?
JSON에 네스트된 오브젝트를 배치하여 어레이를 만들 필요가 없는 방법이 있습니까?오브젝트가 오류 없이 해석되기 위해서는 다음과 같은 구조가 필요한 것 같습니다.
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
이 개체를 "result"라는 변수로 가져오면 다음과 같이 중첩된 개체에 액세스해야 합니다.
result.data[0].stuff[0].onetype[0]
그리고.
result.data[1].otherstuff[0].thing[0]
이것은 서툴고 불필요한 것으로 생각되므로, 가능하다면 다음과 같이 해 주세요.
result.stuff.onetype[0]
그리고.
result.otherstuff.thing
그러나 모든 것이 어레이인데 객체 키를 직접 사용하려면 어떻게 해야 합니까?혼란스럽고 교육받지 못한 내 마음에는 다음과 같은 것이 더 적절해 보일 것이다.
{"data":
{"stuff":
{"onetype":[
{"id":1,"name": ""},
{"id":2,"name": ""}
]}
{"othertype":[
{"id":2,"xyz": [-2,0,2],"n":"Crab Nebula","t":0,"c":0,"d":5}
]}
}
{"otherstuff":
{"thing":
[[1,42],[2,2]]
}
}
}
여기서 기본적인 것을 잘못 알고 있는 것 같습니다만, jQuery 파서(jQuery 1.4에서 사용되는 네이티브 FF 파서도)가 세컨드 스타일 오브젝트를 받아들이도록 할 수 없습니다.누군가 가르쳐 주시면 감사하겠습니다!
어레이를 사용할 필요가 없습니다.
JSON 값은 배열, 개체 또는 원시(숫자 또는 문자열)일 수 있습니다.
JSON은 다음과 같이 쓸 수 있습니다.
{
"stuff": {
"onetype": [
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
],
"othertype": {"id":2,"company":"ACME"}
},
"otherstuff": {
"thing": [[1,42],[2,2]]
}
}
다음과 같이 사용할 수 있습니다.
obj.stuff.onetype[0].id
obj.stuff.othertype.id
obj.otherstuff.thing[0][1] //thing is a nested array or a 2-by-2 matrix.
//I'm not sure whether you intended to do that.
모든 오브젝트는 부모 오브젝트 내에 이름을 붙여야 합니다.
{ "data": {
"stuff": {
"onetype": [
{ "id": 1, "name": "" },
{ "id": 2, "name": "" }
],
"othertype": [
{ "id": 2, "xyz": [-2, 0, 2], "n": "Crab Nebula", "t": 0, "c": 0, "d": 5 }
]
},
"otherstuff": {
"thing":
[[1, 42], [2, 2]]
}
}
}
따라서 다음과 같은 개체를 선언할 수 없습니다.
var obj = {property1, property2};
그래야 한다.
var obj = {property1: 'value', property2: 'value'};
jSON 데이터 내에 중복 중첩된 배열이 너무 많지만 정보를 검색할 수 있습니다.다른 사람들이 말한 것처럼 네가 치우는 게 좋을 것 같아.
마지막 배열까지 each() 랩을 다른 each를 사용합니다.
위해서result.data[0].stuff[0].onetype[0]
jQuery에서 다음을 수행할 수 있습니다.
$.each(data.result.data, function(index0, v) {
$.each(v, function (index1, w) {
$.each(w, function (index2, x) {
alert(x.id);
});
});
});
언급URL : https://stackoverflow.com/questions/2098276/nested-json-objects-do-i-have-to-use-arrays-for-everything
'IT' 카테고리의 다른 글
PHP에서 경고 잘못된 문자열 오프셋을 수정하는 방법 (0) | 2023.03.04 |
---|---|
mongodb 컬렉션에 중복 문서 삽입을 중지하는 방법 (0) | 2023.03.04 |
리액트로 에이잭스 처리 (0) | 2023.03.04 |
쇼트 코드를 사용하여 워드프레스 투고의 페이지 제목을 콘텐츠에 포함시키는 방법 (0) | 2023.03.04 |
Spring Boot: Apache Commons File Upload를 사용한 대용량 스트리밍 파일 업로드 (0) | 2023.03.04 |