2017-07-07 12 views
1

私はflipkart.jsonとして保存した以下のJSONファイルを持っている:キャッチされないでSyntaxError:無効または予期しないトークンのscript.js:

flipkart = '[{ 
     "signup1": 
     { 
       "firstname": "ravi", 
       "lastname" : "kota", 
       "mobileno" : 9555558039, 
       "DOB"  : "19-Mar-1980", 
       "emailid" : "[email protected]", 
       "password" : "password" 
      }}]'; 

を以下から分かるように、私は私が保存され、Javascriptのファイルを書きましたscript.jsとして:

function load() 
{ 
    var mydata = JSON.parse(flipkart); 
    //alert(mydata[0].firstname); 
    //alert(mydata[0].lastname); 
    alert(ravikota); 

} 

そして、私のHTMLコードです:

<html> 
<head> 
    <title>askyb - Load JSON File Locally by Javascript Without 
    JQuery</title> 
    <script type="text/javascript" src="C:\Users\Kota 
     Ravi\Desktop\rainbow\flipkart.json"></script> 
    <script type="text/javascript" src="C:\Users\Kota 
    Ravi\Desktop\rainbow\script.js"></script> 
    </head> 
    <body onload="load()"> 
    askyb - Load JSON File Locally by Javascript Without JQuery 
    </body> 
</html> 

私は同じでHTMLファイルを開くしようとしています私は私のflipkart.jsonファイルはコンソールで識別されていない理由を知っていただきたいと思い

Uncaught SyntaxError: Invalid or unexpected token 
    script.js:3 Uncaught ReferenceError: flipkart is not defined 
    at load (script.js:3) 
    at onload (rainbow.html:7) 

:ディレクトリには、HTMLのコンソールは、としてエラーが発生します。ありがとうございました。

+0

JSONは{'flipkart' = '[]'}のように中括弧で囲まれていますか? – Fashim

+1

jsonは '='での割り当てを許可していないので、間違った構文です。 –

答えて

0

JSONが無効です.JavaScriptを使用せずにJSONを含める場合は、技術的にはオブジェクトの配列を含むファイルを作成するだけです。 JSONファイルは、スクリプトのようにページに含めることはできませんし、達成しようとしているときに参照することはできません。

また、有効なJSONとして作成する場合は、このように見える必要があります。しかし、あなたの場合、これは問題を解決しません。

[ 
    { 
    "signup1": { 
     "firstname": "ravi", 
     "lastname": "kota", 
     "mobileno": 9555558039, 
     "DOB": "19-Mar-1980", 
     "emailid": "[email protected]", 
     "password": "password" 
    } 
    } 
] 

コードを修正しましょう。まず、flipkart.jsflipkart.jsonの名前を変更し、最初にそれを含めるためにあなたのHTMLに組み込むスクリプトを変更します。

flipkart = [{ 
     "signup1": 
     { 
       "firstname": "ravi", 
       "lastname" : "kota", 
       "mobileno" : 9555558039, 
       "DOB"  : "19-Mar-1980", 
       "emailid" : "[email protected]", 
       "password" : "password" 
      }}]; 

これはあなたのページのどこにでも他のスクリプトからアクセスすることができflipkartと呼ばれるグローバル変数を作成します。私は、グローバル変数の短所を読んで、あなたのアプローチがうまくいく間には間違っていることをお勧めします。

この中で、配列を作成してオブジェクトを作成しています。これは標準的な配列とJavascriptオブジェクトですが、JSONではありません。

最後に、script.jsの内側にちょうどあなたのスクリプトでmydata変数を作成せずに、直接flipkartを参照し、まだvar mydata = flipkart;以上で、このラインvar mydata = JSON.parse(flipkart);を交換してください。

+0

実際に私はコードの一部を述べましたが、元のファイルには680行しかないので、私はjsonファイルを作成しましたが、あなたの提案によると、.JSONファイルはないようですが、flipkart.jsファイルにすべてのコードを挿入する必要がありますか? – ravi

+0

うん。変数に割り当てられた別のファイルにデータが必要です。次に、そのファイル(flipkart.js)を最初にインクルードし、作成した変数に後続のスクリプトからアクセスできるようにします。あなたはJSONを解析していないので、 'JSON.parse'パーツは必要ありません。 –

+0

その作業に感謝します。 – ravi

関連する問題