2017-04-23 17 views
0

私はコードの塊を書いています。JSON.parseがエラーを返す

function getScreenshotObj (pathToFirstFile) { 
    return new Promise ((resolve,reject) =>{ 
     console.log("Path to temp dir : " + pathToFirstFile) 
     fs.readFile(pathToFirstFile,function(err,fileContents){ 
      if (err) { 
       return reject(err) 
      } 
      else{ 
       screenshotObject = JSON.parse(fileContents) 
       obj = {pathToFirstFile : pathToFirstFile , screenshotObject:screenshotObject ,accesstoken : accesstoken} 
       return resolve(obj) 
      } 
     }) 
    }) 
} 

JSON.parse()でエラーが発生しました。未知の構文エラー:JSON.parse()での予期せぬ入力の終了。私はオンラインJS構文を使用して構文をチェックし、コードは構文的に有効であると述べました。私が間違っているところで私を修正してください。

+0

まあへのファイルの内容は、*何*ですか?そして、このコードはNodeやブラウザなどで動いていますか? – Pointy

+0

ファイルの内容は、ディレクトリ内の最初のファイルへのパスです。はい、コードはノードで実行されていますが、基本的にはElectron(Electronを使用して)デスクトップアプリケーション用ですので、Chromiumで動作します。 – user2771665

+1

'.readFile()'操作はファイルを指定しないと文字列ではなくバッファを返します2番目の引数としてエンコーディングします。 – Pointy

答えて

0

fs.readFileの場合、生データバッファよりもエンコードを指定しないと返されます。 source

変更:

fs.readFile(pathToFirstFile, function(err, fileContents) { 

fs.readFile(pathToFirstFile, 'utf8', function(err, fileContents) {