JSONC
Súbory úložiska storh sú objekty JSON a pri čítaní sa akceptujú JSONC: riadkové komentáre, blokové komentáre a koncové čiarky. Záznamy tak možno bezpečne otvárať a komentovať v editore; storh ich stále dokáže spracovať.
{
// Application-owned fields live under data.
"id": "018bcfe5-6800-7000-8000-000000000000",
"data": {
"title": "Home",
},
}
Pri čítaní sa najprv skúsi prísne json_decode a na odstraňovač JSONC
sa prejde až v prípade jeho zlyhania, takže kanonické súbory nikdy nezaťaží spracovanie komentárov.
Čo zapisuje storh
Zápisy majú kanonický, kompaktný, jednoriadkový formát JSON s koncovým novým riadkom:
{"id":"018bcfe5-6800-7000-8000-000000000000","data":{"title":"Home"}}
Komentáre a vlastné formátovanie zostanú zachované, kým storh záznam znova neprepíše.
put() s rovnakým ID nahradí celý súbor kanonickým výstupom, preto
považujte komentáre za dočasné poznámky, nie za trvalé metadáta. Trvalé informácie
patria do data.
Kódovanie zachováva znaky Unicode a lomky bez escapovania a ponecháva aj
nulové desatinné časti čísel s pohyblivou rádovou čiarkou (1.0 zostáva 1.0), takže dekódovanie a opätovné zakódovanie rovnakých údajov je
stabilné na úrovni bajtov. Manifesty indexov a ďalšie interné súbory metadát sú objekty JSON
s rovnakou toleranciou pri čítaní.
Jsonc::decode_object() odmieta dokumenty, ktoré nie sú objektmi, aj nesprávne formátovaný vstup.
Jsonc::encode_object() a Jsonc::encode_compact_object() zapisujú polia ako
objektové dokumenty.