本文へスキップ
jsonbeautifiers
日本語
V8 Node v24.15.0, V8 13.6.233.17 上でパーサーを実行して確認しました。

Expected double-quoted property name in JSON at position N (line L column C)

パーサーはオブジェクトの中でカンマを読み、次にもうひとつプロパティ名が来ると期待しましたが、見つけたのは閉じ波括弧でした。つまり、後ろに何もないカンマがあるということです。メッセージは「何を間違えたか」ではなく「パーサーが何を求めていたか」を述べているため、その文面から直し方は読み取れません。

次のような書き方で見かけることもあります

  • trailing comma json error
  • trailing comma not allowed in json

V8は2022年に、JSONのエラーメッセージのほとんどを書き換えました。検索結果に出てくるのはいまだに古い文言がほとんどですが、現行のランタイムはどれもそれを出力しません。

JSONを貼り付けて、壊れている箇所を正確に確認する

入力

貼り付けたものがブラウザの外に出ることはありません。 connect-src の許可リストにより、これは約束ではなくブラウザによる保証になっています。 自分で確かめる

実際の原因

どれが答えになることが多いか、その順に並べています。

  1. 01 閉じ波括弧の前の末尾カンマ

    JavaScript、JSON5、JSONCでは合法です。JSONでは違法です。JavaScriptのオブジェクトを自動整形するエディタは、これを警告なしに付け加えます。

    壊れる例

    {
      "name": "Priya",
      "role": "admin",
    }

    動く例

    {
      "name": "Priya",
      "role": "admin"
    }
  2. 02 カンマが2つ続いている

    プロパティを削除したあとに取り残されていることが多いパターンです。

    壊れる例

    { "a": 1,, "b": 2 }

    動く例

    { "a": 1, "b": 2 }
  3. 03 プロパティ名が来るべき位置にコメント

    JSONにコメントはありません。オブジェクトの中の//行や/* */ブロックは、まったく同じメッセージを出します。パーサーはクォートされたキーを期待していて、スラッシュを見つけたからです。

ほかのランタイムでの同じ間違い

根本にある問題は同一で、違うのは文言だけです。同僚がこれらのどれかを報告してきたなら、見ているものはあなたと同じです。

V8, trailing comma in an ARRAY Unexpected token ']', "[1,2,]" is not valid JSON
Python 3.13 and later Illegal trailing comma before end of object: line 1 column 7 (char 6)
Python 3.12 and earlier Expecting property name enclosed in double quotes: line 1 column 7 (char 6)

よくある質問

配列だとメッセージが違うのはなぜですか?
パーサーの状態が違うからです。オブジェクトの中ではクォートされたキーを待っているので、そう言います。配列の中では値を待っていて閉じ角括弧を見つけるため、Unexpected token ']', "[1,2,]" is not valid JSON になります。同じ間違いなのに、まったく別のメッセージです。
Pythonは以前これに別のエラーを出していました。変わったのですか?
変わりました。Python 3.13で専用のメッセージが追加されました。「Illegal trailing comma before end of object」と、配列向けの対応するメッセージです。3.12以前では、同じ入力が「Expecting property name enclosed in double quotes」になります。バージョンで分けていない解説は、読者の半分に対して間違っています。
設定ファイルにコメントと末尾カンマが必要です。選択肢はありますか?
VS Codeが自身の設定に使っているJSONCなら、コメントと末尾カンマが使えます。JSON5ならさらに多くを許します。いずれも、それに対応したパーサーが必要です。当サイトの修復ツールは、どちらからでも厳密なJSONへ戻せます。

今すぐ直す

上のツールにペイロードを貼り付けるか、この用途のために作られたツールに直接進んでください。

自動で取り除く