FghjNode

Object-tree structure for mutable Fghj representation.

FghjNode can be used to construct and manipulate JSON objects. Each FghjNode can represent either a dynamic JSON object (associative array of FghjNode nodes) or a FGHJ JSON value. JSON arrays can be represented only as JSON values.

Constructors

this
this(Fghj data)

Construct FghjNode recursively.

Members

Functions

add
void add(Fghj data)

Adds data to the object-tree recursively.

added
Fghj added(FghjNode node)

Returns the subset of the node which is not represented in the object-tree. If a leaf is represented but has a different value then it will be included in the return value. Returned value has FGHJ format.

addedImpl
void addedImpl(FghjSerializer serializer, FghjNode node)
Undocumented in source. Be warned that the author may not have intended to support it.
get
FghjNode get(FghjNode value, char[][] keys)
isLeaf
bool isLeaf()

Returns true if the node is leaf.

opCast
Fghj opCast()
opEquals
bool opEquals(FghjNode rhs)
opIndex
FghjNode opIndex(const(char)[][] keys)
opIndexAssign
void opIndexAssign(FghjNode value, const(char)[][] keys)
remove
void remove(Fghj data)

Removes keys from the object-tree recursively.

removed
Fghj removed(FghjNode node)

Returns the subset of the object-tree which is not represented in node. If a leaf is represented but has a different value then it will be included in the return value. Returned value has FGHJ format and its leaves are set to null.

serialize
void serialize(FghjSerializer serializer)

Serialization primitive

Variables

children
FghjNode[const(char)[]] children;

Children nodes.

data
Fghj data;

Leaf data.

Meta