Expected name at line L column C path $…
This message comes from Gson on Java 21.0.12. In this registry it is produced by 3 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
{,}Exact message: Expected name at line 1 column 2 path $.
Fix: Remove the comma. An empty object is `{}`.
JavaScript object literal passed off as JSON
{a: 1, b: 'two', c: [3,],}Exact message: Expected name at line 1 column 27 path $.c
Fix: Run it through `JSON.stringify()` from JavaScript, or convert by hand: quote the keys, switch to double quotes, drop the trailing commas.
Trailing comma in a JSON object
{"a": 1,}Exact message: Expected name at line 1 column 10 path $.a
Fix: Delete the comma before the closing brace.
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.loads | Expecting property name enclosed in double quotes: line L column C (char N) |
| Gson JsonParser (lenient off) | Expected name at line L column C path $… |
| JSON5 | JSON5: invalid character ',' at 1:2 |
| JSON::PP | unexpected end of string while parsing JSON string, at character offset N (before "…") |
| Jackson ObjectMapper | Unexpected character (',' (code 44)): was expecting double-quote to start field nameUnexpected character ('a' (code 97)): was expecting double-quote to start field nameUnexpected character ('}' (code 125)): was expecting double-quote to start field name |
| JavaScriptCore JSON.parse | JSON Parse error: Expected '}'JSON Parse error: Property name must be a string literal |
| Newtonsoft.Json JsonConvert | Invalid property identifier character: ,. Path '', line L, position N. |
| Newtonsoft.Json JsonTextReader | Invalid property identifier character: ,. Path '', line L, position N. |
| Ruby JSON.parse | unexpected token at '…' |
| SpiderMonkey JSON.parse | JSON.parse: expected double-quoted property name 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 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.The JSON object contains a trailing comma at the end which is not supported in this mode. Change the reader options. Path: $ | LineNumber: L | BytePositionInLine: C. |
| System.Text.Json JsonDocument | ',' 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.The JSON object contains a trailing comma at the end which is not supported in this mode. Change the reader options. LineNumber: L | BytePositionInLine: C. |
| V8 JSON.parse | Expected double-quoted property name in JSON at position N (line L column C)Expected property name or '}' in JSON at position N (line L column C) |
| encoding/json Unmarshal | invalid character ',' looking for beginning of object key stringinvalid character 'a' looking for beginning of object key stringinvalid character '}' looking for beginning of object key string |
| hjson | Found ',' where a key name was expected (check your syntax or use quotes if the key name includes {}[],: or whitespace) at line L,1 |
| json-bigint | Bad string |
| json_decode | Syntax error |
| orjson | trailing comma is not allowed: line L column C (char N)unexpected character, expected a string key: line L column C (char N) |
| serde_json::from_str | key must be a string at line L column Ctrailing comma at line L column C |
| ujson | Expected object or valueUnexpected character in found when decoding object value |
Standards this registry is checked against
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The IETF Internet Standard for JSON. Obsoletes RFC 7159 and RFC 4627.
- ECMA-404, 2nd edition — The JSON Data Interchange Syntax, Ecma International, 2017. Ecma’s grammar for JSON. A normative reference of RFC 8259; the two define the same syntax.
- The Unicode Standard — The Unicode Standard, Core Specification, The Unicode Consortium, current. Normatively referenced by RFC 8259 for the definition of a character.
- IEEE 754-2019 — IEEE Standard for Floating-Point Arithmetic, IEEE, 2019. Referenced by RFC 8259 §6 as the basis for its interoperability guidance on numbers.
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.