Exception type for strings that cannot be parsed because they are not proper JSON.
Interface for all parsed, in-memory JSON objects.
Concrete class for JSON arrays.
Concrete class for JSON arrays.
Note: a varargs sequence; to fill from a Scala Seq
, use the myseq: _*
syntax.
Interface for JSON booleans (true
and false
).
Interface for all JSON containers: arrays and objects (mappings).
Concrete class for JSON floating point numbers.
Concrete class for JSON floating point numbers.
(Double
type for more generality than Float
, though the JSON spec allows arbitrary precision).
Exception type for unexpected JSON structure, thrown by fromJson
methods.
Concrete class for JSON integers.
Concrete class for JSON integers.
(Long
type for more generality than Int
, though the JSON spec allows arbitrary precision).
Interface for JSON numbers, both integral and floating point.
Concrete class for JSON objects (mappings).
Concrete class for JSON objects (mappings).
Note: a varargs sequence; to fill from a Scala Seq
, use the myseq: _*
syntax.
Interface for all JSON primitives: null
, true
, false
, numbers, and strings.
Concrete class for JSON strings.
Concrete class for JSON strings.
Note: the strings "-inf"
, "inf"
, and "nan"
can be interpreted as numbers by org.dianahep.histogrammar.json.JsonNumber. If JsonNumber
parsing is attempted before JsonString
in an orElse
chain, these three values would become numbers; otherwise they would become strings. Standard parsing (provided by the org.dianahep.histogrammar.json.JsonPrimitive and org.dianahep.histogrammar.json.Json objects) attempts to interpret them as numbers first.
Status of JSON-parsing an in-memory string.
Status of JSON-parsing an in-memory string. Holds the position (pos
), allows peeking (remaining
), and manages a stack of unwind-protection.
Entry point for parsing JSON.
Concrete singleton for JSON false
.
Concrete singleton for JSON null
.
Concrete singleton for JSON true
.
Provides support for parsing and stringifying JSON.
This module is a new implementation; it does not depend on packages such as Jackson. This choice was to provide the following features:
fromJsonFragment
methods"-inf"
,"inf"
,"nan"
as numbers, rather than stringsNone
, rather than raising exceptions.