Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / JSON errors / JSON Parse error: Expected '}'
JavaScriptCore JSON.parse · JavaScriptCore (Bun 1.4.1)

JSON Parse error: Expected '}'

This message comes from JavaScriptCore JSON.parse on JavaScriptCore (Bun 1.4.1). In this registry it is produced by 8 distinct mistakes. Positions in the real message vary with your input; the causes do not.

What produces this message

Comma in an empty JSON object

Input
{,}

Exact message: JSON Parse error: Expected '}'

Fix: Remove the comma. An empty object is `{}`.

Hexadecimal number in JSON

Input
{"a": 0x1F}

Exact message: JSON Parse error: Expected '}'

Fix: Convert to decimal, or quote it as a string if the hex form is the meaningful representation.

JavaScript object literal passed off as JSON

Input
{a: 1, b: 'two', c: [3,],}

Exact message: JSON Parse error: Expected '}'

Fix: Run it through `JSON.stringify()` from JavaScript, or convert by hand: quote the keys, switch to double quotes, drop the trailing commas.

Leading zero in a JSON number

Input
{"a": 013}

Exact message: JSON Parse error: Expected '}'

Fix: Quote it. `"013"` is a string and keeps its padding; `13` is a number and does not.

Missing comma between object members

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

Exact message: JSON Parse error: Expected '}'

Fix: Add a comma between the two members.

Numeric object key in JSON

Input
{1: "a"}

Exact message: JSON Parse error: Expected '}'

Fix: Quote the key: `{"1": "a"}`.

Unclosed object — unexpected end of JSON input

Input
{"a": 1

Exact message: JSON Parse error: Expected '}'

Fix: Verify you received the whole payload. Compare the byte count against Content-Length, and check for proxy or log truncation.

Unquoted object key in JSON

Input
{a: 1}

Exact message: JSON Parse error: Expected '}'

Fix: Wrap every key in double quotes.

What other parsers say about the same input

If a colleague reports a different message for what looks like the same file, this is why.

Parser Message for the same inputs
CPython json.loadsExpecting ',' delimiter: line L column C (char N)Expecting property name enclosed in double quotes: line L column C (char N)
GsonExpected name at line L column C path $…Unterminated object at line L column C path $…java.io.EOFException: End of input at line L column C path $…
Gson JsonParser (lenient off)Expected name at line L column C path $…Unterminated object at line L column C path $…java.io.EOFException: End of input at line L column C path $…
JSON5JSON5: invalid character ',' at 1:2JSON5: invalid character '1' at 1:2JSON5: invalid character '1' at 1:8JSON5: invalid character '\"' at 1:9JSON5: invalid end of input at 1:8
JSON::PP, or } expected while parsing object/hash, at character offset N (before "…")malformed number (leading zero must not be followed by another digit), at character offset N (before "…")unexpected end of string while parsing JSON string, at character offset N (before "…")
Jackson ObjectMapperInvalid numeric value: Leading zeroes not allowedUnexpected character ('"' (code 34)): was expecting comma to separate Object entriesUnexpected character (',' (code 44)): was expecting double-quote to start field nameUnexpected character ('1' (code 49)): was expecting double-quote to start field nameUnexpected character ('a' (code 97)): was expecting double-quote to start field nameUnexpected character ('x' (code 120)): was expecting comma to separate Object entriesUnexpected end-of-input: expected close marker for Object (start marker
Newtonsoft.Json JsonConvertAfter parsing a value an unexpected character was encountered: ". Path 'a', line L, position N.Invalid property identifier character: ,. Path '', line L, position N.Unexpected end when deserializing object. Path 'a', line L, position N.
Newtonsoft.Json JsonTextReaderAfter parsing a value an unexpected character was encountered: ". Path 'a', line L, position N.Invalid property identifier character: ,. Path '', line L, position N.
Ruby JSON.parseunexpected token at '…'
SpiderMonkey JSON.parseJSON.parse: end of data after property value in object at line L column C of the JSON dataJSON.parse: expected ',' or '}' after property value in object at line L column C of the JSON dataJSON.parse: expected property name or '}' at line L column C of the JSON data
System.Text.Json Deserialize'"' is invalid after a value. Expected either ',', '}', or ']'. Path: $ | LineNumber: L | BytePositionInLine: C.',' is an invalid start of a property name. Expected a '"'. Path: $ | LineNumber: L | BytePositionInLine: C.'1' is an invalid end of a number. Expected a delimiter. Path: $ | LineNumber: L | BytePositionInLine: C.'1' is an invalid start of a property name. Expected a '"'. Path: $ | LineNumber: L | BytePositionInLine: C.'a' is an invalid start of a property name. Expected a '"'. Path: $ | LineNumber: L | BytePositionInLine: C.'x' is an invalid end of a number. Expected a delimiter. Path: $ | LineNumber: L | BytePositionInLine: C.Invalid leading zero before '1'. Path: $ | LineNumber: L | BytePositionInLine: C.
System.Text.Json JsonDocument'"' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: L | BytePositionInLine: C.',' is an invalid start of a property name. Expected a '"'. LineNumber: L | BytePositionInLine: C.'1' is an invalid end of a number. Expected a delimiter. LineNumber: L | BytePositionInLine: C.'1' is an invalid start of a property name. Expected a '"'. LineNumber: L | BytePositionInLine: C.'a' is an invalid start of a property name. Expected a '"'. LineNumber: L | BytePositionInLine: C.'x' is an invalid end of a number. Expected a delimiter. LineNumber: L | BytePositionInLine: C.Invalid leading zero before '1'. LineNumber: L | BytePositionInLine: C.
V8 JSON.parseExpected ',' or '}' after property value in JSON at position N (line L column C)Expected property name or '}' in JSON at position N (line L column C)Unexpected number in JSON at position N (line L column C)
encoding/json Unmarshalinvalid character '"' after object key:value pairinvalid character ',' looking for beginning of object key stringinvalid character '1' after object key:value pairinvalid character '1' looking for beginning of object key stringinvalid character 'a' looking for beginning of object key stringinvalid character 'x' after object key:value pairunexpected end of JSON input
hjsonEnd of input while parsing an object (missing '}') at line L,10End of input while parsing an object (missing '}') at line L,11End of input while parsing an object (missing '}') at line L,15End of input while parsing an object (missing '}') at line L,7Found ',' where a key name was expected (check your syntax or use quotes if the key name includes {}[],: or whitespace) at line L,1
json-bigintBad stringExpected ',' instead of '"'Expected ',' instead of ''Expected ',' instead of 'x'
json_decodeSyntax error
orjsonnumber with leading zero is not allowed: line L column C (char N)unexpected character, expected ',' or '}': line L column C (char N)unexpected character, expected a string key: line L column C (char N)unexpected end of data: line L column C (char N)
serde_json::from_strEOF while parsing an object at line L column Cexpected `,` or `}` at line L column Cinvalid number at line L column Ckey must be a string at line L column C
ujsonExpected object or valueKey name of object must be 'string' when decoding 'object'Unexpected character in found when decoding object value

← All JSON parser errors

Standards this registry is checked against

Only standards bodies and peer-reviewed venues are cited. Error strings on this site are observed by executing each parser; the standards above define what the parser is reacting to.