JSON에서 Javascript를 사용하여 테이블 만들기

Revanth

테이블에 표시하려는 개체에 데이터가 있습니다. 불행히도 모든 열에 undefined.

  var fifadata = [{
    "fields": ["id", "country", "alternate_name", "fifa_code", "group_id", "group_letter", "wins", "draws", "losses", "games_played", "points", "goals_for", "goals_against", "goal_differential"]
  }, {
    "id": 1,
    "country": "Brazil",
    "alternate_name": null,
    "fifa_code": "BRA",
    "group_id": 1,
    "group_letter": "A",
    "wins": 4,
    "draws": 1,
    "losses": 2,
    "games_played": 7,
    "points": 13,
    "goals_for": 11,
    "goals_against": 14,
    "goal_differential": -3
  }, {
    "id": 2,
    "country": "Croatia",
    "alternate_name": null,
    "fifa_code": "CRO",
    "group_id": 1,
    "group_letter": "A",
    "wins": 1,
    "draws": 0,
    "losses": 2,
    "games_played": 3,
    "points": 3,
    "goals_for": 6,
    "goals_against": 6,
    "goal_differential": 0
  }, {
    "id": 3,
    "country": "Mexico",
    "alternate_name": null,
    "fifa_code": "MEX",
    "group_id": 1,
    "group_letter": "A",
    "wins": 2,
    "draws": 1,
    "losses": 1,
    "games_played": 4,
    "points": 7,
    "goals_for": 5,
    "goals_against": 3,
    "goal_differential": 2
  }];
var body = document.getElementsByTagName('body')[0];
var table = document.createElement("table");
var thead = document.createElement("thead");
var tbody = document.createElement("tbody");
var th = document.createElement("th");
var caption = document.createElement('caption');
var cap = document.createTextNode("Game Results List");
caption.appendChild(cap);
caption.style.fontWeight = "900";
table.appendChild(caption);
body.appendChild(table);
table.style.border = "1px dashed red";
table.style.borderSpacing = "1px";
table.style.textAlign = "center";

//table head(correct)

for (i = 0; i < 1; i++) {
  var tr = document.createElement("tr");
  thead.appendChild(tr);
  table.appendChild(thead);
  for (j = 0; j < fifadata[0].fields.length; j++) {
    var th = document.createElement("th");
    var keyname = fifadata[0].fields[j];
    var tm = document.createTextNode(keyname);
    th.appendChild(tm);
    tr.appendChild(th);
    th.style.border = "1px dashed blue";
    th.style.padding = "5px";
  }
}

//table body(incorrect).
//I need to use a dynamically created property(i.e. keyinfo) in "var text"
//i.e.fifadata[i].keyinfo; should change into fifadata[1].ID when it is 
//excecuted.

for (i = 1; i < fifadata.length; i++) {
  var tr = document.createElement("tr");
  tbody.appendChild(tr);
  table.appendChild(tbody);
  for (j = 0; j < fifadata[0].fields.length; j++) {
    var td = document.createElement("td");
    var keyinfo = fifadata[0].fields[j];
    var test = fifadata[i].keyinfo;
    var tn = document.createTextNode(test);
    td.appendChild(tn);
    tr.appendChild(td);
    td.style.border = "1px dashed green";
    td.style.padding = "2px";
  }
}

모든 것이 잘되면 JSON 데이터에서 테이블을 만들어야합니다. 내 코드를 약간 수정할 수 있습니까? 더 쉬운 이유가 있습니까?

정경

점 표기법 에서는 이와 같은 변수를 사용할 수 없습니다 . 본질적으로 keyinfo존재하지 않는 라는 속성을 요청 합니다.

var keyinfo = fifadata[0].fields[j];
var test = fifadata[i].keyinfo; // wrong

이름이 keyinfo 's value 인 속성에 액세스하려면 다음과 같이 대괄호 표기법 을 사용해야합니다 .

var keyinfo = fifadata[0].fields[j];
var test = fifadata[i][keyinfo]; // right

이 간단한 데모를 살펴보십시오.

(function() {

  // loading data from a hidden input to declutter the demo script
  var fifadata = JSON.parse(document.getElementById("fifadata").value);

  var table = document.createElement("table");

  var thead = table.appendChild(document.createElement("thead"));

  var tbody = table.appendChild(document.createElement("tbody"));

  var row = thead.insertRow(-1);

  // remove the first item in fifadata and get a reference to its fields property
  var fieldNames = fifadata.shift().fields;

  // create column headers
  fieldNames.forEach(function(fieldName) {
    row.appendChild(document.createElement("th")).textContent = fieldName;
  });

  // populate tbody rows
  fifadata.forEach(function(record) {
    row = tbody.insertRow(-1);
    fieldNames.forEach(function(fieldName) {
      // note that we use bracket notation to access the property
      row.insertCell(-1).textContent = record[fieldName];
    });
  });

  // add the table to the body once fully constructed
  document.body.appendChild(table);

})();
<input type="hidden" id="fifadata" value='[{"fields":["id","country","alternate_name","fifa_code","group_id","group_letter","wins","draws","losses","games_played","points","goals_for","goals_against","goal_differential"]},{"id":1,"country":"Brazil","alternate_name":null,"fifa_code":"BRA","group_id":1,"group_letter":"A","wins":4,"draws":1,"losses":2,"games_played":7,"points":13,"goals_for":11,"goals_against":14,"goal_differential":-3},{"id":2,"country":"Croatia","alternate_name":null,"fifa_code":"CRO","group_id":1,"group_letter":"A","wins":1,"draws":0,"losses":2,"games_played":3,"points":3,"goals_for":6,"goals_against":6,"goal_differential":0},{"id":3,"country":"Mexico","alternate_name":null,"fifa_code":"MEX","group_id":1,"group_letter":"A","wins":2,"draws":1,"losses":1,"games_played":4,"points":7,"goals_for":5,"goals_against":3,"goal_differential":2}]'/>

참조 : 속성 접근 자 , , , , , 및Array.prototype.forEach()Array.prototype.shift()HTMLTableElement.insertRow()HTMLTableRowElement.insertCell()Node.textContent

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaScript에서 JSON 데이터를 사용하여 HTML 테이블 만들기

분류에서Dev

jQuery를 사용하여 테이블에서 배열 만들기

분류에서Dev

Django에서 쿼리를 사용하여 테이블 만들기

분류에서Dev

모든 필드에 대해 jquery를 사용하여 javascript의 json에서 테이블 만들기

분류에서Dev

jQuery 및 JavaScript를 사용하여 HTML 테이블에 행과 셀 만들기

분류에서Dev

VBA를 사용하여 여러 열에서 2 열 테이블 만들기

분류에서Dev

jquery를 사용하여 테이블에서 li에 대한 필터 만들기

분류에서Dev

for 루프를 사용하여 데이터 테이블에 여러 열 만들기

분류에서Dev

AngularJs 사용자 정의 Json에서 ng-repeat를 사용하여 테이블 만들기

분류에서Dev

AS SELECT를 사용하여 MySQL에서 동적으로 테이블 만들기

분류에서Dev

tab_model 함수를 사용하여 R에서 HTML 테이블 만들기

분류에서Dev

루프를 사용하여 R에서 ICC 결과로 테이블 만들기

분류에서Dev

for-loop를 사용하여 Python에서 새 SQLite 테이블 만들기

분류에서Dev

SQL Server에서 날짜 키를 사용하여 팩트 테이블 만들기

분류에서Dev

테이블에서 PHP 루프를 사용하여 4 개의 열 만들기

분류에서Dev

PHP를 사용하여 텍스트 파일에서 테이블 만들기

분류에서Dev

SQL : 루프에서 변수를 사용하여 새 테이블 만들기

분류에서Dev

Teradata에서 저장 프로 시저를 사용하여 테이블 만들기

분류에서Dev

PHP를 사용하여 DB에서 동적 테이블 만들기

분류에서Dev

Microsoft SQL Server에서 변수를 사용하여 임시 테이블 만들기

분류에서Dev

SQL과 PHP를 사용하여 테이블에 하이퍼 링크 만들기

분류에서Dev

mySql (phpMyAdmin)을 사용하여 다른 테이블에서 데이터를 가져 오는 테이블 만들기

분류에서Dev

JavaScript를 사용하여 테이블에서 다중 시리즈 FusionCharts에 대한 데이터 세트 만들기

분류에서Dev

PHP를 사용하여 두 테이블을 선택하여 mysql에 새 임시 테이블 만들기

분류에서Dev

JavaScript를 사용하여 div로 테이블 만들기

분류에서Dev

피벗 테이블을 사용하여 Excel 보고서를 SSRS로 만들기

분류에서Dev

GROUP BY를 사용하여 TRIGGER 내에 임시 테이블 만들기

분류에서Dev

자바를 사용하여 하이브에서 테이블 만들기를 보여줍니다.

분류에서Dev

for 루프 HTML JavaScript를 사용하여 동적 데이터에 대한 동적 테이블 만들기

Related 관련 기사

  1. 1

    JavaScript에서 JSON 데이터를 사용하여 HTML 테이블 만들기

  2. 2

    jQuery를 사용하여 테이블에서 배열 만들기

  3. 3

    Django에서 쿼리를 사용하여 테이블 만들기

  4. 4

    모든 필드에 대해 jquery를 사용하여 javascript의 json에서 테이블 만들기

  5. 5

    jQuery 및 JavaScript를 사용하여 HTML 테이블에 행과 셀 만들기

  6. 6

    VBA를 사용하여 여러 열에서 2 열 테이블 만들기

  7. 7

    jquery를 사용하여 테이블에서 li에 대한 필터 만들기

  8. 8

    for 루프를 사용하여 데이터 테이블에 여러 열 만들기

  9. 9

    AngularJs 사용자 정의 Json에서 ng-repeat를 사용하여 테이블 만들기

  10. 10

    AS SELECT를 사용하여 MySQL에서 동적으로 테이블 만들기

  11. 11

    tab_model 함수를 사용하여 R에서 HTML 테이블 만들기

  12. 12

    루프를 사용하여 R에서 ICC 결과로 테이블 만들기

  13. 13

    for-loop를 사용하여 Python에서 새 SQLite 테이블 만들기

  14. 14

    SQL Server에서 날짜 키를 사용하여 팩트 테이블 만들기

  15. 15

    테이블에서 PHP 루프를 사용하여 4 개의 열 만들기

  16. 16

    PHP를 사용하여 텍스트 파일에서 테이블 만들기

  17. 17

    SQL : 루프에서 변수를 사용하여 새 테이블 만들기

  18. 18

    Teradata에서 저장 프로 시저를 사용하여 테이블 만들기

  19. 19

    PHP를 사용하여 DB에서 동적 테이블 만들기

  20. 20

    Microsoft SQL Server에서 변수를 사용하여 임시 테이블 만들기

  21. 21

    SQL과 PHP를 사용하여 테이블에 하이퍼 링크 만들기

  22. 22

    mySql (phpMyAdmin)을 사용하여 다른 테이블에서 데이터를 가져 오는 테이블 만들기

  23. 23

    JavaScript를 사용하여 테이블에서 다중 시리즈 FusionCharts에 대한 데이터 세트 만들기

  24. 24

    PHP를 사용하여 두 테이블을 선택하여 mysql에 새 임시 테이블 만들기

  25. 25

    JavaScript를 사용하여 div로 테이블 만들기

  26. 26

    피벗 테이블을 사용하여 Excel 보고서를 SSRS로 만들기

  27. 27

    GROUP BY를 사용하여 TRIGGER 내에 임시 테이블 만들기

  28. 28

    자바를 사용하여 하이브에서 테이블 만들기를 보여줍니다.

  29. 29

    for 루프 HTML JavaScript를 사용하여 동적 데이터에 대한 동적 테이블 만들기

뜨겁다태그

보관