그래서 JSON 파일에 액세스 할 수 있으며 몇 가지 항목을 깔끔하게 나열해야합니다. JSON 파일은 익숙하지 않은 방식으로 작성되었습니다.JavaScript를 사용하여 JSON에서 객체의 객체를 추출하십시오.
function readFile(file) {
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function()
{
if (rawFile.readyState === 4 && rawFile.status === 200)
{
window.openedFile = JSON.parse(rawFile.responseText);
console.log(JSON.stringify(openedFile, undefined, 4));
createList();
}
};
rawFile.send();
}
function createList() {
var table = document.createElement('table');
var body = document.createElement('tbody');
for (var i = 0; i < openedFile.sites.length; i++) {
var item = document.createElement('tr');
var colSite = document.createElement('td');
colSite.appendChild(document.createTextNode(openedFile.sites[i].name));
item.appendChild(colSite);
body.appendChild(item);
}
table.appendChild(body);
document.getElementById('list').appendChild(table);
}
.. 그리고 그것은 배열 "사이트"를 주장대로 작동하지 않습니다이 비어 : 나는 다음과 같은 코드가 있습니다. 내가 "(1007)"를 JSON 파일을 변경하고 사이트 후 대괄호 ([])를 추가하고 제거 할 경우
{
"sites": {
"1007": {
"id": 1007,
"name": "Location B",
"devices": {
"p3": {
"name": "p3",
"version": "5"
}
}
},
"1337": {
"id": 1337,
"name": "Location A",
"devices": {
"p2": {
"name": "p2",
"version": "5"
},
"p1": {
"name": "p1",
"version": "5"
}
}
}
},
}
: 콘솔에서 출력에서 JSON 파일에서 결과는 (변수 이름에 약간의 수정을) 제공 "1337"은 (예 : 일반 배열로) 익숙해 보이는 것처럼 보이며 작동합니다. 그러나 나는이 일을 할 수 없다고 확신한다. 그리고 장치에 관한 정보를 추출하려고 할 때 같은 문제가 다시 발생한다. 이 문제에 대한 도움을 주시면 감사하겠습니다. 그리고 명확히하기 위해 JSON 파일을 변경하지 않으려 고합니다. 다른 해결책이 있다면.
아 :
는 예를 들어,이 작품 (단지 개체 이름, 당신이 이미 가지고 추출을 기록 콘솔). 고맙습니다! 이것은 많은 의미가 있습니다. – TeachMeToAim