質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1138閲覧

jsonデータのhtml出力について

rinrin1137

総合スコア87

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/08/04 03:14

編集2020/08/04 03:30

jQueryでjsonのデータをHTMLに出力ができない

jsonからスタッフのデータを取得してループで回して表示をしたいのですが、A店だけもしくはA店、B店両方の表示がされません。指定の方法が間違っているのかうまくいきませんでした。(下記コードはA店のみ表示を想定)
ご指導のほど宜しくお願い致します。

json

1{ 2 "A店":[ 3 { 4 "position":"部長", 5 "name":"山田太郎", 6 "img_url":"../img/shop/thm_takahashi_yoki.jpg" 7 }, 8 { 9 "position":"店長", 10 "name":"山田次郎", 11 "img_url":"../img/shop/thm_sasanuma.jpg" 12 }, 13 { 14 "position":"店長代理", 15 "name":"山田三郎", 16 "img_url":"../img/shop/thm_fujita.jpg" 17 }, 18 "B店":[ 19 { 20 "position":"部長", 21 "name":"小川太郎", 22 "img_url":"../img/shop/thm_takahashi_yoki.jpg" 23 }, 24 { 25 "position":"課長", 26 "name":"小川次郎", 27 "img_url":"../img/shop/thm_sasanuma.jpg" 28 } 29 }

html

1<div id="staff"> 2 <ul> 3 <!-- ここにデータ表示 --> 4 <ul> 5</div> 6 7<script> 8 $(function(){ 9 $.getJSON('./js/staff.json', function(staff_list){ 10 for(var i in staff_list){ 11 var h = '<li>' + '<p>' + staff_list[i][A店].name + '</p>' + '<p>' + 'staff_list[i][A店].position' + '</p>' + '</li>'; 12 $('#staff').append(h); 13 } 14 }); 15 });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

json

1{ 2 [ 3 "A店":[

そもそも、データがJSONとして成立していません。

投稿2020/08/04 03:20

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rinrin1137

2020/08/04 03:30

jsonファイルを編集しなおしたましたので宜しくお願い致します。
guest

0

ベストアンサー

A店という変数をプロパティ添え字に当てる構文になってしまってます。
ブラケット記法を使うこの場合(JSONとか)文字列を当てます。
(また、変数使うのに、文字列になってしまってる箇所があったので、修正)

javascript

1var h = '<li>' + '<p>' + staff_list[i]["A店"].name + '</p>' + '<p>' + staff_list[i]["A店"].position + '</p>' + '</li>';

投稿2020/08/04 03:56

編集2020/08/04 03:58
miyabi_takatsuk

総合スコア9555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rinrin1137

2020/08/04 04:01

ご回答ありがとうございます。 上記のコードで試しましたが、表示されませんでした。 既存サイト自体の文字コードがEUC-JPを使用しているようなのですが、 jsonはUTF-8出なければならない?と記憶していたのですが、何か表示させる手段はありそうでしょうか?
miyabi_takatsuk

2020/08/04 04:03

console.logなどで、 取得したJSONデータを確認してください。 また、エラーが出ていたら、 そのエラー文を質問に記載してください。 ブラウザの表示側だけ見てたら一生解決できません。
miyabi_takatsuk

2020/08/04 04:26

あくまで構文にまだ不備があるだけです。 ただ、実際に取得できてるJSONの構造がわからないと、これ以上回答しようがありません。 とにかく、コンソールで様々変数の中身などを確認するようにして下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問