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 end of JSON input
encoding/json Unmarshal · Go go1.22.2

unexpected end of JSON input

This message comes from encoding/json Unmarshal on Go go1.22.2. In this registry it is produced by 5 distinct mistakes. Positions in the real message vary with your input; the causes do not.

What produces this message

Empty string passed to a JSON parser

Input

Exact message: unexpected end of JSON input

Fix: Check for an empty body before parsing, and log the status code and content-length alongside it.

Unclosed array — unexpected end of JSON input

Input
[1, 2

Exact message: unexpected end of JSON input

Fix: Confirm the full body arrived before parsing.

Unclosed object — unexpected end of JSON input

Input
{"a": 1

Exact message: unexpected end of JSON input

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

Unterminated string in JSON

Input
{"a": "hello}

Exact message: unexpected end of JSON input

Fix: Escape internal double quotes as `\"`, and check that every string has a matching closing quote.

Whitespace-only input

Input
   
	 

Exact message: unexpected end of JSON input

Fix: Treat whitespace-only as empty and handle it before parsing.

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 value: line L column C (char N)Unterminated string starting at: line L column C (char N)
GsonUnterminated string at line L column C path $…java.io.EOFException: End of input at line L column C path $…
Gson JsonParser (lenient off)Unterminated string at line L column C path $…java.io.EOFException: End of input at line L column C path $…
JSON5JSON5: invalid end of input at 1:1JSON5: invalid end of input at 1:14JSON5: invalid end of input at 1:6JSON5: invalid end of input at 1:8JSON5: invalid end of input at 2:3
JSON::PP, or ] expected while parsing array, at character offset N (before "…"), or } expected while parsing object/hash, at character offset N (before "…")malformed JSON string, neither array, object, number, string or atom, at character offset N (before "…")unexpected end of string while parsing JSON string, at character offset N (before "…")
Jackson ObjectMapperUnexpected end-of-input: expected close marker for Array (start markerUnexpected end-of-input: expected close marker for Object (start markerUnexpected end-of-input: was expecting closing quote for a string value
JavaScriptCore JSON.parseJSON Parse error: Expected ']'JSON Parse error: Expected '}'JSON Parse error: Unexpected EOFJSON Parse error: Unterminated string
Newtonsoft.Json JsonConvertUnexpected end when deserializing object. Path 'a', line L, position N.Unterminated string. Expected delimiter: ". Path 'a', line L, position N.
Newtonsoft.Json JsonTextReaderUnterminated string. Expected delimiter: ". Path 'a', 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: end of data when ',' or ']' was expected at line L column C of the JSON dataJSON.parse: unexpected end of data at line L column C of the JSON dataJSON.parse: unterminated string at line L column C of the JSON data
System.Text.Json Deserialize'1' is an invalid end of a number. Expected a delimiter. Path: $ | LineNumber: L | BytePositionInLine: C.'2' is an invalid end of a number. Expected a delimiter. Path: $ | LineNumber: L | BytePositionInLine: C.Expected end of string, but instead reached end of data. Path: $ | LineNumber: L | BytePositionInLine: C.The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: L | BytePositionInLine: C.
System.Text.Json JsonDocument'1' is an invalid end of a number. Expected a delimiter. LineNumber: L | BytePositionInLine: C.'2' is an invalid end of a number. Expected a delimiter. LineNumber: L | BytePositionInLine: C.Expected end of string, but instead reached end of data. LineNumber: L | BytePositionInLine: C.The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. LineNumber: L | BytePositionInLine: C.
V8 JSON.parseExpected ',' or ']' after array element in JSON at position N (line L column C)Expected ',' or '}' after property value in JSON at position N (line L column C)Unexpected end of JSON inputUnterminated string in JSON at position N (line L column C)
hjsonBad string at line L,13End of input while parsing an array (missing ']') at line L,5End of input while parsing an object (missing '}') at line L,7
json-bigintBad stringExpected ',' instead of ''Unexpected ''
json_decodeControl character error, possibly incorrectly encodedSyntax error
orjsonInput is a zero-length, empty document: line L column C (char N)input data is empty: line L column C (char N)unexpected end of data: line L column C (char N)
serde_json::from_strEOF while parsing a list at line L column CEOF while parsing a string at line L column CEOF while parsing a value at line L column CEOF while parsing an object at line L column C
ujsonExpected object or valueUnexpected character found when decoding array value (2)Unexpected character in found when decoding object valueUnmatched '"' when decoding 'string'

← 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.