2017-04-12 14 views
-1

以下の添付されたスクリーンショットに基づいて構文エラーを理解できる人はいらっしゃいますか?ノードJS構文エラーの理解

Syntax Error

私のスクリプトが与えられたJSONにアクセスし、特定の値を返すことになって、何とかそれは、このエラーを返します。

編集1

私はダミーJSONに私のスクリプトをテストし、スクリプトがエラーを返しませんでしたので、私は私の元のJSONが問題を与えるかもしれないと思います。ここに私のJSONがあります。

{ 
    "og_object": { 
     "id": "1192199560899293", 
     "description": "Hi everyone I have an important announcement to make. So ever since Penny started school, I've been having mixed feelings. \u00a0Besides having a bit of space to myself to breathe and rest my brain/legs, I'm actually a bit bittersweet cos my little baby, who used to sleep at weird hours and gobble puree", 
     "title": "Fighter and Penny's new sibling", 
     "type": "article", 
     "updated_time": "2017-04-12T01:17:57+0000" 
    }, 
    "share": { 
     "comment_count": 0, 
     "share_count": 109 
    }, 
    "id": "http://fourfeetnine.com/2017/03/05/fighter-and-pennys-new-sibling/" 
} 

編集2

ここで私はそれがエラーを生成し実行する私のスクリプトです。

var objects = require('./output.txt'); 
console.log(objects); 

output.txt

は私が 編集@Jordan提案に1つの

+0

私は意味... 'function(){{foo:1}'は有効なjavascriptではありません。あなたはただそこにぶら下がっているオブジェクトを持っています –

+0

ようこそスタックオーバーフロー。ソースコード、エラーメッセージ、およびその他のテキスト情報は、外部の画像ではなくインラインのプレーンテキストとして提供してください。テキストは検索可能で、再利用可能で、通常は読みやすくなります。 –

+0

@KevinBオリジナルのJSONを含めるように質問を編集しました。 'function {{foo:1} 'はありません。結果にどのように現れたのかわかりません。 @ÁlvaroGonzálezインラインプレーンテキストを作成したかったのですが、テキストを正しくフォーマットするのが面倒だったので、代わりにスクリーンショットを付けることにしましたが、私の評判は高くなく、添付ファイルの。私の質問を編集してくれてありがとう。 –

答えて

0
var objects = require('./output.txt'); 

require()の機能は、module loading systemに属します。名前にもかかわらず、ノードモジュールだけでなく、いくつかのタイプのファイルやディレクトリを実際にロードすることができます。ドキュメントに示すhigh-level algorithm in pseudocodeあたりとして:

require(X)

X 'は./' や '/' で始まるか '../' の場合

。 LOAD_AS_FILE(Y + X)

[...]

LOAD_AS_FILE(X)Xファイル、JavaScriptのテキストとして負荷Xがある場合

  1. 。 STOP
  2. X.jsがファイルの場合は、X.jsをJavaScriptテキストとしてロードします。停止
  3. X.jsonがファイルの場合、X.jsonをJavaScriptオブジェクトと解析します。 STOP
  4. X.nodeがファイルの場合、バイナリアドオンとしてX.nodeをロードします。あなたはにSyntaxErrorを取得しているので、output.txtとは、有効なJavaScriptコードが含まれていません

を停止します。

JSONを本当にロードしたい場合は、ファイル名をoutput.jsonに変更してサブルール3を適用する必要があります。

0

おかげで貼り付けられたJSONを含むファイルです。実際には、ファイルの拡張が間違っていることが原因です。ファイルの拡張子を.txtから.jsonに変更すると、構文エラーが表示されなくなりました。

関連する問題