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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

588閲覧

JavascriptでのJSONファイルの取得方法について

Yo-san

総合スコア8

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/01/14 10:14

前提・実現したいこと

現在、キーワード検索をしてJSONファイルの中からキーワードが一致するものを出力するものを
作りたいと思っています。

発生している問題・エラーメッセージ

しかしJSONファイルをjavascriptで取得することができません。

該当のソースコード

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"> 7 </script> 8 <script> 9 $(function(){ 10 $.getJSON("item.json", 11 function(data){ 12 for(var i=0; i<data.length; i++){ 13 $("#dataTable").append("<tr></tr>") 14 .find("tr:last") 15 .append("<td>"+data[i].code+"</td>") 16 .append("<td>"+data[i].name+"</td>") 17 .append("<td>"+data[i].price+"</td>"); 18 } 19 } 20 ); 21 }); 22 </script> 23 </head> 24 <body> 25 <table id="dataTable"> 26 <tr> 27 <th>code</th><th>name</th><th>price</th> 28 </tr> 29 </table> 30 </body> 31</html> 32

試したこと

JSONファイルはJSON pretty LInterにかけて正しいと出ました。
htmlもミスがないか確認しました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こちらですが、手元で確認したところ問題なく表示されました。
確認したい点ですが、表示している画面のURLは「http://」から始まっているでしょうか?
もし「file://」から始まっている場合は、クロスドメイン制約に引っかかるためJSONが読み込まれないです。
仮想サーバー等を立てる等してサーバー上でアクセスする必要があります。

念の為開発者ツールのConsoleを開いていただき、何か警告やエラー文が表示されていないか確認してみてください。

【表示される】 http://localhost/json/ 【表示されない】 file:///Users/〇〇/△△/index.html

json(手元確認)

1[ 2 { 3 "code": "code-1", 4 "name": "name-1", 5 "price": "price-1" 6 }, 7 { 8 "code": "code-2", 9 "name": "name-2", 10 "price": "price-2" 11 }, 12 { 13 "code": "code-3", 14 "name": "name-3", 15 "price": "price-3" 16 } 17]

投稿2020/01/14 15:13

編集2020/01/14 15:16
vnsa7221

総合スコア348

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

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

Yo-san

2020/01/14 15:18

そうなんですね! それは知らなかったです。検索してもなかなか出てこず困っていました。 こんな初歩的な質問に丁寧に回答していただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問