nlohmann::detail::parse_error
nlohmann::detail::exception
json.hpp
const std::size_t const std::size_t nlohmann::detail::parse_error::byte byte

byte index of the parse error

The byte index of the last read character in the input file.

For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).

typename BasicJsonType
parse_error static parse_error nlohmann::detail::parse_error::create (int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context) create int id_ const position_t & pos const std::string & what_arg const BasicJsonType & context

create a parse error exception

id_

the id of the exception

pos

the position where the error occurred (or with chars_read_total=0 if the position cannot be determined)

what_arg

the explanatory string

parse_error object

nlohmann::detail::position_t::chars_read_total
nlohmann::detail::exception::diagnostics
nlohmann::detail::exception::name
nlohmann::detail::string
nlohmann::json_pointer< BasicJsonType >::array_index
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value
nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal
nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse
nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse
nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal
nlohmann::json_pointer< BasicJsonType >::split
nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof
typename BasicJsonType
parse_error static parse_error nlohmann::detail::parse_error::create (int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context) create int id_ std::size_t byte_ const std::string & what_arg const BasicJsonType & context nlohmann::detail::exception::diagnostics nlohmann::detail::exception::name nlohmann::detail::string nlohmann::to_string
nlohmann::detail::parse_error::parse_error
(int id_, std::size_t byte_, const char *what_arg)
parse_error
int id_
std::size_t byte_
const char * what_arg
std::string static std::string nlohmann::detail::parse_error::position_string (const position_t &pos) position_string const position_t & pos nlohmann::detail::position_t::chars_read_current_line nlohmann::detail::position_t::lines_read nlohmann::to_string

exception indicating a parse error

This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

Member byte holds the byte index of the last read character in the input file.

Exceptions have ids 1xx.

name / id | example message | description
json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer (RFC 6901) may be `0` or any number without a leading `0`.
json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character.
json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences.
json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number.
json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read.
json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet).
json.exception.parse_error.115 | parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A | A UBJSON high-precision number could not be parsed.

For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).

{The following code shows how a `parse_error` exception can be caught.,parse_error}

- exception for the base class of the library exceptions

- invalid_iterator for exceptions indicating errors with iterators

- type_error for exceptions indicating executing a member function with a wrong type

- out_of_range for exceptions indicating access out of the defined range

- other_error for exceptions indicating other library errors

version 3.0.0

nlohmann::detail::parse_error
std::exception
nlohmann::detail::exception
size_t
std::runtime_error
nlohmann::detail::parse_error
+byte
int
std::exception
nlohmann::detail::exception
-m
+id
- nlohmann::detail::parse_error
  byte
- nlohmann::detail::parse_error
  create
- nlohmann::detail::parse_error
  create
- nlohmann::detail::parse_error
  diagnostics
- nlohmann::detail::parse_error
  exception
- nlohmann::detail::parse_error
  id
- nlohmann::detail::parse_error
  name
- nlohmann::detail::parse_error
  parse_error
- nlohmann::detail::parse_error
  position_string
- nlohmann::detail::parse_error
  what