どこまで理解していてどの辺りで詰まっているのが不明ですが、XMLHttpRequest
で JSON を取得してください。
JavaScript
1'use strict';
2(function () {
3 function handleReadystatechange (event) { // XMLHttpRequest Level 1
4 var xhr = event.target, object;
5
6 if (xhr.readyState === 4 && xhr.status === 200) {
7 object = JSON.parse(xhr.responseText);
8 console.dir(object);
9 }
10 }
11
12 function createHandler (_handle, xhr) {
13 return handle (event) {
14 if (event) {
15 event.target = xhr;
16 } else {
17 event = {target: xhr};
18 }
19
20 _handle.call(xhr, event);
21 };
22 }
23
24 function handleLoad (event) { // XMLHttpRequest Level 2
25 var xhr = event.target, object;
26
27 if (xhr.status === 200) {
28 object = JSON.parse(xhr.responseText);
29 console.dir(object);
30 }
31 }
32
33 function main () {
34 var xhr = new XMLHttpRequest(); // for IE7+
35
36 xhr.open('GET', 'data.json', true);
37
38 if (typeof xhr.addEventListener === 'function') {
39 if ('onload' in xhr) {
40 xhr.addEventListener('load', handleLoad, false);
41 } else if ('onreadystatechange' in xhr) {
42 xhr.addEventListener('readystatechange', handleReadystatechange, false);
43 }
44 } else if (typeof xhr.attachEvent === 'function' || typeof xhr.attachEvent === 'object') { // for IE8-
45 if ('onload' in xhr) {
46 xhr.attachEvent('onload', createHandler(handleLoad, xhr));
47 } else if ('onreadystatechange' in xhr) {
48 xhr.attachEvent('onreadystatechange', createHandler(handleReadystatechange, xhr));
49 }
50
51 }
52
53 xhr.send(null);
54 }
55
56 main();
57}());
JSON は JSON.parse
で展開可能です。
JavaScript
1'use strict';
2var json = '[{"name":"青木","age":34},{"name":"イチロー","age":41}]',
3 array = JSON.parse(json);
4
5for (var i = 0, l = array.length, object; i < l; ++i) {
6 object = array[i];
7 console.log(object.name, object.age);
8}
table要素の生成は次の手順で可能です。
document.createElement('table')
でtable要素ノードを生成
- thead, tbody, tr, td, th 要素ノードを生成して
appendChild
(HTMLTable**** の DOM API を利用してもOK)
createTextNode
でテキストノードを生成して appendChild
もしくは、textContent