STON

STON is more or less a superset of JSON and is backwards compatible with JSON while parsing, and can be compatible with it while writing. The important differences (and the whole reason why STON exists in the first place) are - class information (except for lists (Array) and maps (Dictionary)) - proper handling of shared and circular references - more Smalltalk like syntax (Symbols with #, single quoted Strings, nil instead of null) - more defined special types (Date, Time, DataAndTime, ByteArray, Point)