質問するログイン新規登録

回答編集履歴

7

修正

2020/09/13 08:32

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,3 +1,8 @@
1
+ # ありがたく思うなら解決していけ。複数アカウントがバレにくいように質問を削除するな。
2
+
3
+ [ARP - jwosnwデータの文法について|teratail](https://teratail.com/questions/290990)
4
+ [JavaScript - JSONデータをシンプルにHTMLに直したい。|teratail](https://teratail.com/questions/291432)
5
+
1
6
  **間違っているのは JSON ではなくスクリプトの方です。**
2
7
  前回の質問で確認した通り、JSON は間違っていません。
3
8
 

6

修正

2020/09/13 08:32

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  **間違っているのは JSON ではなくスクリプトの方です。**
2
2
  前回の質問で確認した通り、JSON は間違っていません。
3
3
 
4
- しかしながら、スクリプトに手を付けることなく JSON を書き換えることによって何らかの表示をしたいのであれば、二番目の追記のようにしてください。
4
+ **しかしながら、スクリプトに手を付けることなく JSON を書き換えることによって何らかの表示をしたいのであれば、二番目の追記のようにしてください。**
5
5
 
6
6
  ```JavaScript
7
7
  $.getJSON("data.json", function(data) {

5

追記

2020/09/11 05:08

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,6 +1,8 @@
1
1
  **間違っているのは JSON ではなくスクリプトの方です。**
2
2
  前回の質問で確認した通り、JSON は間違っていません。
3
3
 
4
+ しかしながら、スクリプトに手を付けることなく JSON を書き換えることによって何らかの表示をしたいのであれば、二番目の追記のようにしてください。
5
+
4
6
  ```JavaScript
5
7
  $.getJSON("data.json", function(data) {
6
8
  for (var i in data) {

4

追記

2020/09/11 05:08

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -68,4 +68,30 @@
68
68
  ```
69
69
 
70
70
  ### 追記 実行結果
71
- ![イメージ説明](9f08a5f99f9811386a795fe03fc6971d.png)
71
+ ![イメージ説明](9f08a5f99f9811386a795fe03fc6971d.png)
72
+
73
+ ### 追記
74
+
75
+ もし仮に、スクリプトには一切手を加えることなく、JSON の構造をどのように変えてもいいからなにがしか表示できるようにしたいということであれば、次のものを試してください。
76
+
77
+ ```
78
+ [
79
+ {
80
+ "title":"タイトル1",
81
+ "text":[0, 1],
82
+ "menu":[
83
+ {"menu":"メニュー0"},
84
+ {"menu":"メニュー1"}
85
+ ]
86
+ },
87
+ {
88
+ "title":"タイトル2",
89
+ "text":[0, 1, 2],
90
+ "menu":[
91
+ {"menu":"メニュー0"},
92
+ {"menu":"メニュー1"},
93
+ {"menu":"メニュー2"}
94
+ ]
95
+ }
96
+ ]
97
+ ```

3

スクリプトを少しシンプルにした

2020/09/11 04:43

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -39,20 +39,20 @@
39
39
  $(document).ready(function() {
40
40
  $.getJSON("data.json", function(data) {
41
41
  const toUl = element => {
42
+ const result = $("<ul>");
42
- const items = Object.entries(element).map(([key, value]) => {
43
+ for ([key, value] of Object.entries(element)) {
43
44
  switch (typeof(value)) {
44
45
  case "object":
45
- return toUl(value);
46
+ result.append(toUl(value));
47
+ break;
46
48
  default:
47
- return $("<li>").append(value);
49
+ result.append($("<li>").append(value));
50
+ break;
48
51
  }
49
- });
50
- const result = $("<ul>");
51
- for (item of items) {
52
- result.append(item);
53
52
  }
54
53
  return result;
55
54
  };
55
+
56
56
  for ([key, value] of Object.entries(data)) {
57
57
  switch (typeof(value)) {
58
58
  case "string":

2

修正

2020/09/11 01:39

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,4 +1,5 @@
1
- 間違っているのはスクリプトの方です。
1
+ **間違っているのは JSON ではなくスクリプトの方です。**
2
+ 前回の質問で確認した通り、JSON は間違っていません。
2
3
 
3
4
  ```JavaScript
4
5
  $.getJSON("data.json", function(data) {

1

追記

2020/09/11 01:13

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -64,4 +64,7 @@
64
64
  }
65
65
  });
66
66
  });
67
- ```
67
+ ```
68
+
69
+ ### 追記 実行結果
70
+ ![イメージ説明](9f08a5f99f9811386a795fe03fc6971d.png)