2016-08-26 20 views
0

したがって、同じ値の外部JSONファイルに1つの値を格納したいだけです。アイテムを取得しようとするたびに、「予期しないトークン:」と表示され、JSON.parse(データ)メソッドのデータが間違っているという別のエラーが表示されます。いずれにしても、parse()の有無にかかわらずトークンエラーが発生します。 "e1" :の部分が気に入らない場合は、jsonファイルのその部分の下に赤いエラー行があります。私はこのサイトと他のものについて約6件の提案を見たことがあるが、それは私の特定の問題には役に立たなかった。何かご意見は?ここext jsonファイルからhtmlへの読み込み問題

<!DOCTYPE html> 
<html> 
<head> 
    <title>Objects 2</title> 
    <script type="text/javascript" src="data.json"></script> 
</head> 
<body> 
    <div id="test"></div> 
    <script> 
     var extJSON = JSON.parse(data); 
     document.getElementByID("test").innerHTML = extJSON.e1.position; 
    </script> 
</body> 
</html> 

そして、私は単純に任意の値またはプロパティ値のペアを印刷したい私のJSONファイル

{ 
    "e1" : 
    { 
     "first_name" : "John", 
     "last_name" : "Smith", 
     "age"  : 42, 
     "position" : "mechanic", 
     "phone"  : 
     { 
      "home" : "718-111-1111", 
      "mobile" : "718-222-2222", 
      "work" : "718-333-3333" 
     } 
    }, 
    "e2" : 
    { 
     "first_name" : "Jane", 
     "last_name" : "Smith", 
     "age"  : 34, 
     "position" : "Investor", 
     "phone"  : 
     { 
      "home" : "305-111-1111", 
      "mobile" : "305-222-2222", 
      "work" : "305-333-3333" 
     } 
    }, 
    "e3" : 
    { 
     "first_name" : "Rusty", 
     "last_name" : "Colon", 
     "age"  : 23, 
     "position" : "Diver", 
     "phone"  : 
     { 
      "home" : "415-111-1111", 
      "mobile" : "415-222-2222", 
      "work" : "415-333-3333" 
     } 
    }, 
    "e4" : 
    { 
     "first_name" : "Anna", 
     "last_name" : "Spencer", 
     "age"  : 20, 
     "position" : "Event Planner", 
     "phone"  : 
     { 
      "home" : "786-111-1111", 
      "mobile" : "786-222-2222", 
      "work" : "786-333-3333" 
     } 
    } 
} 

です:

は、ここに私のコードです。ありがとう。

+0

[Javascriptで外部ローカルJSONファイルを読み込む方法](http://stackoverflow.com/questions/19706046/how-to-read-an-external-local-json-file-in-javascript) ) – baao

答えて

0

data= { 
     "e1" : 
     { 
      "first_name" : "John", 
      "last_name" : "Smith", 
      "age"  : 42, 
      "position" : "mechanic", 
      "phone"  : 
      { 
       "home" : "718-111-1111", 
       "mobile" : "718-222-2222", 
       "work" : "718-333-3333" 
      } 
     }, 
     "e2" : 
     { 
      "first_name" : "Jane", 
      "last_name" : "Smith", 
      "age"  : 34, 
      "position" : "Investor", 
      "phone"  : 
      { 
       "home" : "305-111-1111", 
       "mobile" : "305-222-2222", 
       "work" : "305-333-3333" 
      } 
     }, 
     "e3" : 
     { 
      "first_name" : "Rusty", 
      "last_name" : "Colon", 
      "age"  : 23, 
      "position" : "Diver", 
      "phone"  : 
      { 
       "home" : "415-111-1111", 
       "mobile" : "415-222-2222", 
       "work" : "415-333-3333" 
      } 
     }, 
     "e4" : 
     { 
      "first_name" : "Anna", 
      "last_name" : "Spencer", 
      "age"  : 20, 
      "position" : "Event Planner", 
      "phone"  : 
      { 
       "home" : "786-111-1111", 
       "mobile" : "786-222-2222", 
       "work" : "786-333-3333" 
      } 
     } 
    }; 

が、それはあなたのために働くホープようdata.jsonファイルがあるべきあなたのコードごとにこの コード

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>Objects 2</title> 
     <script type="text/javascript" src="data.json"></script> 
    </head> 
    <body> 
     <div id="test"></div> 
     <script> 
      var extJSON = data; 
      document.getElementById("test").innerHTML = extJSON.e1.position; 
// it is getElementById not getElementByID. it is case sensitive. 
     </script> 
    </body> 
    </html> 

を試してみてください。

+0

ありがとう、これはトリックでした。 IDからIDへの部分は間違いでしたが、extJSON = dataを割り当てるだけでした。私の大きな問題でした。 –

0

はそうのようなスクリプトタグを変更してください:

<script id="data" type="application/json" src="data.json"> 

、それを参照してください。

var extJSON = JSON.parse($("#data").html()); 

・ホープ、このことができます。

関連する問題