- ベストアンサー
JSONファイルの読み込み
{"note":[ {"content":"aaa", "title":"hoge"}, {"content":"bbb", "title":"hogehoge"} ]} 以上のような内容のファイル(note.json)を読み込んで、1つ目のtitle(hoge)を取り出し、 <a href="hoge.html" title="">link</a> のtitleの部分に挿入したいのですが、どなたかご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "?http://www.w3.org/TR/html4/strict.dtd"> <title>set Title?</title> <a href="hoge.html" title="" id="a">link1</a> <a href="hoge.html" title="" id="b">link2</a> <script type="text/javascript"> eval('var a={"note":[ {"content":"aaa", "title":"hoge"},{"content":"bbb", "title":"hogehoge"} ]}'); document.getElementById('a').setAttribute('title',a.note[0].title); document.getElementById('b').title=a.note[1].title; </script>
その他の回答 (2)
だからAjaxでそのままファイルごとテキストで読み込んで eval('var a='+ obj.resopnseText );
補足
お手数かけて申し訳ありません。何度もコメントありがとうございます。 その方法で試してみたいと思います。
<script type="text/javascript" src="data.js"></script> で読み込むなら、始めから そのファイルそのものが、aをオブジェクトとして宣言する var a={~ のファイル構造でよくない? Ajaxで読み込むなら eval('var a='+ obj.resopnseText ); みたいな・・・。 ちがうの?
補足
諸事情によりdata.jsの構造は {"note":[ {"content":"aaa", "title":"hoge"}, {"content":"bbb", "title":"hogehoge"} ]} のままでどうにか処理したいと考えています。
補足
ご回答ありがとうございます。1つ質問なのですが、 {"note":[ {"content":"aaa", "title":"hoge"}, {"content":"bbb", "title":"hogehoge"} ]} の部分は外部ファイル(note.json)としているので、これを読み込む必要があるかと思います。拡張子がjsonとしている場合はどのように読み込めばいいでしょうか?若しくは、拡張子をjsと変えて <script type="text/javascript" src="note.js"></script> と記述して読み込むしかないでしょうか?