This module contains procs for serialization and deseralization of arbitrary Nim data structures. The serialization format uses JSON.
Restriction: For objects their type is not serialized. This means essentially that it does not work if the object has some other runtime type than its compiletime type:
type TA = object TB = object of TA f: int var a: ref TA b: ref TB new(b) a = b echo($$a[]) # produces "{}", not "{f: 0}"
Note: The to and $$ operations are available at compile-time!
Procs
proc load[T](s: Stream; data: var T)
- loads data from the stream s. Raises EIO in case of an error. Source
proc store[T](s: Stream; data: T)
- stores data into the stream s. Raises EIO in case of an error. Source
proc `$$`[T](x: T): string
- returns a string representation of x. Source
proc to[T](data: string): T
- reads data and transforms it to a T. Source