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

Expected ',' or '}' after property value in JSON at position N (line L column C)

パーサーはオブジェクトの中で値を読み終え、メンバーの並びがカンマで続くか、波括弧で終わるかのどちらかを期待していました。しかし別のものが来ました。このメッセージはオブジェクトの内部に関するV8の総合的な受け皿であり、いくつもの異なる間違いを一括りにしています。

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

入力

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

実際の原因

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

  1. 01 プロパティ間のカンマの書き忘れ

    もっともよくある原因で、たいていは手で編集した結果です。

    壊れる例

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

    動く例

    { "a": 1, "b": 2 }
  2. 02 ファイルが途中で切れている

    報告された位置が入力の末尾そのものなら、値のあとには何も続いていなかったということです。それは構文の間違いではなく、切れたドキュメントです。当サイトのバリデーターは両者を区別し、開いたままの括弧を一覧表示します。

    壊れる例

    { "a": 1

    動く例

    { "a": 1 }
  3. 03 値のあとのコメント

    JSONにコメントはないため、値のあとの「// メモ」はこのエラーになります。

  4. 04 16進数など、JSONにない書き方の数値

    パーサーは0をひとつの完結した数値として読み、そのあとにxを見つけます。それはカンマでも波括弧でもありません。JSONに16進リテラルはありません。

    壊れる例

    { "mask": 0x1F }

    動く例

    { "mask": 31 }

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

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

Python Expecting ',' delimiter: line 1 column 10 (char 9)
V8, inside an array Expected ',' or ']' after array element in JSON at position N

よくある質問

カンマの書き忘れと、ファイルの切れを見分けるには?
報告された位置と、入力の長さを比べてください。同じなら、ドキュメントが早く終わっています。当サイトのバリデーターはどちらであるかを示し、切れたドキュメントについては、閉じていない括弧すべてと、それが開かれた行を挙げます。

今すぐ直す

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

正確な位置を突き止める