[解決済み] EJSでJSONをループスルーする
2022-03-13 12:39:18
質問
EJSで以下のようなコードを書いています。
<script>
var row =<%-JSON.stringify(data)%>
console.log(row);
</script>
<% for(var i=0; i<JSON.stringify(data).length; i++) {%>
<tr>
<td>
<%= JSON.stringify(data)[i].id%>
</td>
</tr>
<% } %>
行の出力は正しく、3つのオブジェクトの配列で、それぞれid、nameなどのプロパティを持っています。JSで行を操作して、テーブルをポップアップすることができます。しかし、私はそれが上記の方法で行うことができるようにする方法があるかどうか疑問に思っています?
上記のコードを実行すると、JSON.stringify(data).lengthが3ではなく、文字列全体の長さになります。
もう一つの疑問は
<% alert('t'); %> or <% window.alert('t'); %>, it gives me 'not defined' error....
よろしくお願いします。
お問い合わせ先 ハンマー
解決方法は?
JSON.stringify
が返されます。
String
. だから、例えば
var data = [
{ id: 1, name: "bob" },
{ id: 2, name: "john" },
{ id: 3, name: "jake" },
];
JSON.stringify(data)
は同等のものを返します。
"[{\"id\":1,\"name\":\"bob\"},{\"id\":2,\"name\":\"john\"},{\"id\":3,\"name\":\"jake\"}]"
として
String
の値を指定します。
そのため
<% for(var i=0; i<JSON.stringify(data).length; i++) {%>
ということになるのですが、結局どうなんでしょう。
<% for(var i=0; i<"[{\"id\":1,\"name\":\"bob\"},{\"id\":2,\"name\":\"john\"},{\"id\":3,\"name\":\"jake\"}]".length; i++) {%>
というのは、おそらく ない を使用します。おそらくあなたが する のようなものです。
<table>
<% for(var i=0; i < data.length; i++) { %>
<tr>
<td><%= data[i].id %></td>
<td><%= data[i].name %></td>
</tr>
<% } %>
</table>
これにより、以下のような表が出力されます(例として
data
のようになります。)
<table>
<tr>
<td>1</td>
<td>bob</td>
</tr>
<tr>
<td>2</td>
<td>john</td>
</tr>
<tr>
<td>3</td>
<td>jake</td>
</tr>
</table>
関連
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] ランタイム 'node' が PATH で見つからない - Visual Studio Code と Node.js
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] 循環構造をJSONのような形式で印刷するにはどうすればよいですか?
-
[解決済み] Node.JSを使用して、JSONファイルを(サーバー)メモリに読み込むにはどうすればよいですか?
-
[解決済み] JSONウェブトークンの無効化
-
[解決済み] node.jsでJSONをpretty-printするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?
-
[解決済み] ランタイム 'node' が PATH で見つからない - Visual Studio Code と Node.js
-
[解決済み] node.js - リクエスト - "emitter.setMaxListeners() "はどのように?
-
[解決済み】JSONオブジェクトのサイズを取得する