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 / Unexpected character ('a' (code 97)): was expectin
Jackson ObjectMapper · Java 21.0.12

Unexpected character ('a' (code 97)): was expecting double-quote to start field name

This message comes from Jackson ObjectMapper on Java 21.0.12. In this registry it is produced by 2 distinct mistakes. Positions in the real message vary with your input; the causes do not.

What produces this message

JavaScript object literal passed off as JSON

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

Exact message: Unexpected character ('a' (code 97)): was expecting double-quote to start field name

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

Unquoted object key in JSON

Input
{a: 1}

Exact message: Unexpected character ('a' (code 97)): was expecting double-quote to start field name

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 property name enclosed in double quotes: line L column C (char N)
GsonExpected name at line L column C path $…
Gson JsonParser (lenient off)Expected name at line L column C path $…
JSON::PPunexpected end of string while parsing JSON string, at character offset N (before "…")
JavaScriptCore JSON.parseJSON Parse error: Expected '}'
Ruby JSON.parseunexpected token at '…'
SpiderMonkey JSON.parseJSON.parse: expected property name or '}' at line L column C of the JSON data
System.Text.Json Deserialize'a' is an invalid start of a property name. Expected a '"'. Path: $ | LineNumber: L | BytePositionInLine: C.
System.Text.Json JsonDocument'a' is an invalid start of a property name. Expected a '"'. LineNumber: L | BytePositionInLine: C.
V8 JSON.parseExpected property name or '}' in JSON at position N (line L column C)
encoding/json Unmarshalinvalid character 'a' looking for beginning of object key string
json-bigintBad string
json_decodeSyntax error
orjsonunexpected character, expected a string key: line L column C (char N)
serde_json::from_strkey must be a string at line L column C
ujsonExpected object or 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.