The Simple URF (SURF) format aims to be a replacement for JSON that meets modern needs by providing types such as dates, IRIs, UUIDs, binary data, and decimal numbers. SURF maintains JSON's spirit of simplicity while transparently building on the Uniform Resource Framework (URF) for robust, consistent semantics.
Backwards-Compatible with JSON
JSON “objects” are interpreted as maps.
Custom Types and Properties
Identify object types, and use real properties. Sets. Comments. And no more profuse commas.
Dates
Date and time types are built in. No need for an extra parsing later with arbitrary formats.
True Decimal Type
If you store currency in the JSON number type, you are doing it wrong.
It is impossible for floating point numbers to represent 12345.90 - 0.30 = 12345.60
correctly. A decimal type must be used.
Semantic model
SURF is built on top of Uniform Resource Framework (URF) semantic framework, allowing transformations to other URF formats as well as reasoning via a reference engine.
Learn More
Read the Quick Start for an overview. Then learn more about SURF and serialization formats in general. The technical details are spelled out in the SURF specification.