JsonValue

org.sigilaris.core.codec.json.JsonValue
See theJsonValue companion object
enum JsonValue

Minimal, library-agnostic JSON value ADT.

This AST is deliberately small and independent of any backend. All higher-level behaviors (naming policies, discriminator, null/absent, etc.) are handled by encoders/decoders and derivation, not by this ADT.

The six cases cover all JSON types:

  • JNull: JSON null
  • JBool: JSON boolean
  • JNumber: JSON number (stored as BigDecimal for precision)
  • JString: JSON string
  • JArray: JSON array
  • JObject: JSON object (field map)

Attributes

Companion
object
Source
JsonValue.scala
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Enum entries

final case class JArray(values: Vector[JsonValue])

JSON array value.

JSON array value.

Value parameters

values

the array elements

Attributes

Source
JsonValue.scala
final case class JBool(value: Boolean)

JSON boolean value.

JSON boolean value.

Value parameters

value

the boolean

Attributes

Source
JsonValue.scala
case JNull extends JsonValue

JSON null value.

JSON null value.

Attributes

Source
JsonValue.scala
final case class JNumber(value: BigDecimal)

JSON number value.

JSON number value.

Value parameters

value

the numeric value (BigDecimal for arbitrary precision)

Attributes

Source
JsonValue.scala
final case class JObject(fields: Map[String, JsonValue])

JSON object value.

JSON object value.

Value parameters

fields

the object fields (key-value pairs)

Attributes

Source
JsonValue.scala
final case class JString(value: String)

JSON string value.

JSON string value.

Value parameters

value

the string content

Attributes

Source
JsonValue.scala