JSONC
Datoteke za shranjevanje storh so objekti JSON, pri branju pa sprejemajo JSONC: enovrstične komentarje, večvrstične komentarje in zaključne vejice. Tako lahko datoteke zapisov varno odprete in označite v urejevalniku; storh jih še vedno razčleni.
{
// Application-owned fields live under data.
"id": "018bcfe5-6800-7000-8000-000000000000",
"data": {
"title": "Home",
},
}
Branje najprej poskusi s strogim razčlenjevalnikom json_decode, na čistilnik JSONC pa se preusmeri samo, če to ne uspe, zato kanonične datoteke nikoli ne porabijo dodatnih virov za obravnavo komentarjev.
Kaj zapisuje storh
Zapisi so kanonični, strnjeni objekti JSON v eni vrstici z zaključnim znakom za novo vrstico:
{"id":"018bcfe5-6800-7000-8000-000000000000","data":{"title":"Home"}}
Komentarji in oblikovanje po meri se ohranijo do naslednjih prepisov tega zapisa z storh.
put() v isti ID v celoti nadomesti datoteko s kanoničnim izhodom, zato komentarje obravnavajte kot začasne opombe, ne kot trajne metapodatke. Trajne informacije sodijo v data.
Kodiranje ohrani Unicode in poševnice brez ubežnih zapisov ter ohrani ničelne decimalne dele števil s plavajočo vejico (1.0 ostane 1.0), zato sta dekodiranje in ponovno kodiranje istih podatkov stabilna na ravni bajtov. Indeksi in druge datoteke z internimi metapodatki so objekti JSON z enako toleranco pri branju.
Jsonc::decode_object() zavrne dokumente, ki niso objekti, in neveljaven vhod.
Jsonc::encode_object() in Jsonc::encode_compact_object() zapišeta polja kot
objektne dokumente.