1. ホーム
  2. フロントエンド
  3. js

JSON変換エラーです。Uncaught SyntaxError: JSON.parse_乐夫天命兮的客-プログラマーベイビーで位置1に予期しないトークンo。

2022-01-21 04:07:32
<パス


この問題は、以前、あるプロジェクトで作業していた時に一度遭遇したのですが、ネットで実践しているJSON.parse()の変換層を削除すると、このエラーは出ず、データも正常に動作したので、あまり気にせず、何が原因なのかを深く調べずにいました。

しかし、今回また遭遇してしまったので、今度は原因を突き止めなければなりません。

エラーの原因
変換したいデータはもともとオブジェクトなので、JSON.parse()メソッドは文字列をjsonオブジェクトにパースするものであり、再度変換するとエラーになります。

なぜこのようなエラーが発生するのでしょうか?
なぜなら、JSON.parse()のパラメータとしてObjectを渡すと、まずtoString()メソッドで文字列をデフォルトにするので、"[object Object]"となるためです。

JSON.parse() は最初の文字 '[' を配列の開始と解釈し、2 番目の文字 'o' はそれをどう処理したらよいか分からないため、エラーメッセージ Unexpected token o in JSON at position 1 above をスローします。