Preskočiť na obsah

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ť.

Jsonc
{
  // 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:

Text
{"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.