JsonValueCodec

trait JsonValueCodec[@specialized A] extends Serializable

A JsonValueCodec[A] instance has the ability to decode and encode JSON values to/from values of type A, potentially failing with an error if the JSON content does not encode a value of the given type or A cannot be encoded properly according to RFC-8259 requirements.

trait Serializable
class Object
trait Matchable
class Any
trait JsonCodec[A]

Value members

Abstract methods

def decodeValue(in: JsonReader, default: A): A

Attempts to decode a value of type A from the specified JsonReader, but may fail with JsonReaderException error if the JSON input does not encode a value of this type.

Attempts to decode a value of type A from the specified JsonReader, but may fail with JsonReaderException error if the JSON input does not encode a value of this type.

Value parameters:
default

the placeholder value provided to initialize some possible local variables

in

an instance of JsonReader which provide an access to the JSON input to parse a JSON value to value of type A

def encodeValue(x: A, out: JsonWriter): Unit

Encodes the specified value using provided JsonWriter, but may fail with JsonWriterException if it cannot be encoded properly according to RFC-8259 requirements.

Encodes the specified value using provided JsonWriter, but may fail with JsonWriterException if it cannot be encoded properly according to RFC-8259 requirements.

Value parameters:
out

an instance of JsonWriter which provides access to JSON output to serialize the specified value as a JSON value

x

the value provided for serialization

def nullValue: A

Returns some placeholder value that will be used by the high level code that generates codec instances to initialize local variables for parsed field values which have a codec that was injected using implicit val.

Returns some placeholder value that will be used by the high level code that generates codec instances to initialize local variables for parsed field values which have a codec that was injected using implicit val.

See the jsoniter-scala-macros sub-project code and its tests for usages of .nullValue calls.