examples/minimal.json in the source tree:

// The smallest useful FSON file: a root object with one member.
{
  greeting: "hello fson"
}

What each line does

LineFeature
// The smallest…a line comment — the one thing here that is not plain JSON
{ … }a root object — the most common FSON document shape
greeting:a bare-name keygreeting matches [A-Za-z](_?[A-Za-z0-9])*, so no quotes
"hello fson"a string value

Strip the comment and this is valid JSON. Keep it and it is valid JSON5 and valid FSON.

Reading it

auto r = Fson::load( "minimal.json" );
r.document->getString( "greeting", "" );   // "hello fson"

Round-trip

fson-check minimal.json

prints the file back essentially unchanged — the comment stays above the object, the bare key stays bare.