Class Encoder

Class summary


constructor
Deprecated. Use the top-level json.encode functions instead.

Constructors

Deprecated. Use the top-level json.encode functions instead.
Returns an encoder that encodes into an internal buffer. The result can be extracted with to-string or to-byte-array.

Methods

encode obj/any converter/Lambda -> any
See EncoderBase_.encode

encode obj/any [converter] -> none

encode obj/any -> none

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

put-list size/int [generator] [converter] -> none
Outputs a list-like thing to the JSON stream.
This can be used by converter blocks.
The generator is called repeatedly with indices from 0 to size - 1.

put-unquoted data/any -> none
See EncoderBase_.put-unquoted

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.