1. TOP
  2. Webサービス
  3. JavaScript
  4. 【質問】JSONファイルの読み出しをするとUncaught SyntaxError: Unexpected token u in JSON at position 0 というエラーが出る件

【質問】JSONファイルの読み出しをするとUncaught SyntaxError: Unexpected token u in JSON at position 0 というエラーが出る件

|

json_data_uncaughtsyntaxerror_u_1

自分で阪神タイガースのスターティングラインナップをJSONデータのファイルとして作成してみました。そのファイルのデータををJavaScriptのXMLHttpRequestオブジェクトと、responseTextプロパティを使って読み出してブラウザに表示させたいと考えています。

【質問の主旨】

json_data_uncaughtsyntaxerror_u_2

GitHubにアップしている16-4.htmlというファイルは、同じくGitHubにアップされているdata.jsonを読み出すと、コンソールにUncaught SyntaxError: Unexpected token u in JSON at position 0 というエラーが表示されます。これはなぜでしょうか?

またどのようにコードを変更すれば、ブラウザに阪神タイガースのスターティングラインナップを表示させることができるでしょうか?

【質問の補足】

その1

GitHubにアップしている16-4.htmlは、徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につくのP457をそのまま引用させていただいています。

その2

GitHubにアップしているdata.jsonは、自ら手動で作成したオリジナルのJSONファイルです。

その3

req.addEventListener("load", function() {
    console.log(req);
    console.log(req.responseText);
    console.log(JSON.parse(req.reseponseText));
    jsonObj = JSON.parse(req.reseponseText);
}, false);

addEventListenerメソッド内部をデバッグしました。

json_data_uncaughtsyntaxerror_u_3

すると上記のような結果が返ってきました。”console.log(JSON.parse(req.reseponseText))”の箇所にエラーが出ます。

その4

Uncaught SyntaxError: Unexpected token u in JSON at position 0 とエラー内容をそのままググったところ、Stack Overflowにて下記のページがヒットしました。

今回の質問と似たような質問ですが、答えは「JSONファイルが、JSON形式になっていないから」とのことです。(おそらくJSONファイルの記法には間違いはないので)自分の質問とはケースが違うと思います。

以上、よろしくお願い申し上げます。

【参考サイト】