JavaScript | “[object Object]” is not valid JSON エラーの原因と修正案

JavaScript エラー,JavaScript

JavaScript | “[object Object]" is not valid JSON エラーの原因と修正案

JavaScriptで発生するコンソールエラー「"[object Object]" is not valid JSON」の原因と対処・修正案について紹介しています。

Uncaught SyntaxError: “[object Object]" is not valid JSON at ~
キャッチされていない構文エラー: 「オブジェクト」は有効な JSON ではありません

確認環境

Microsoft Edge バージョン 118.0.2088.46

“[object Object]" is not valid JSON エラーの発生原因

「"[object Object]" is not valid JSON」というJavaScriptの構文エラーは、既に配列、オブジェクトが格納されているデータをJSON.parse()メソッドで配列、オブジェクトに変換しとうとした際に発生します。

このエラーはキャッチされていない構文エラー(Uncaught SyntaxError)に分類されています。

例えば以下の場合、変数名「obj」はオブジェクトデータですが、JSON.parse()メソッドで配列、オブジェクトに変換しようとしているJavaScriptコードを実行する場合にエラーは発生します。

let obj = {"name":"taro", "age":20};
let obj2 = JSON.parse(obj);

“[object Object]" is not valid JSON エラーの修正案

「"[object Object]" is not valid JSON」エラーを修正するには、対象のデータがオブジェクトなのが正しいのか、JSON.parse()メソッドの使用が正しいコードなのかを確認して修正する必要があります。

対象が既に配列・オブジェクトである場合、JSON.parse()メソッドによる変換処理は必要なく、JSONデータに変換したい場合はJSON.parse()メソッドではなくJSON.stringify()メソッドを利用します。

let obj = {"name":"taro", "age":20};
let json = JSON.stringify(obj, undefined, 1);