Liigu sisu juurde

JSONC

storh salvestusfailid on JSON objektid ning lugemisel aktsepteeritakse JSONC: reakommentaare, plokkkommentaare ja lõpus asuvaid komasid. Nii saab kirjefaile redaktoris ohutult avada ja kommenteerida; storh parsib need endiselt korrektselt.

Jsonc
{
  // Application-owned fields live under data.
  "id": "018bcfe5-6800-7000-8000-000000000000",
  "data": {
    "title": "Home",
  },
}

Lugemisel proovitakse kõigepealt ranget json_decode parsimist ja minnakse JSONC kommentaaride eemaldajale üle ainult siis, kui see ebaõnnestub, nii et kanoonilised failid ei maksa kommentaaride käsitlemise eest lisakulu.

Mida storh kirjutab

Kirjutamisel väljastatakse kanooniline, kompaktne, üherealine JSON, mille lõpus on reavahetus:

Text
{"id":"018bcfe5-6800-7000-8000-000000000000","data":{"title":"Home"}}

Kommentaarid ja kohandatud vorming säilivad, kuni storh selle kirje järgmisel korral ümber kirjutab. Sama ID-ga put() asendab kogu faili kanoonilise väljundiga, seega käsitle kommentaare ajutiste märkmetena, mitte püsivate metaandmetena. Püsiv teave kuulub data-i.

Kodeerimisel säilivad Unicode ja kaldkriipsud ilma paomärkideta ning ujukomaarvu nullosa jääb alles (1.0 jääb kujule 1.0), nii et samade andmete dekodeerimine ja uuesti kodeerimine annab bait-baidilt sama tulemuse. Indeksimanifestid ja muud sisemised metaandmefailid on JSON objektid, mille lugemisel rakenduvad samad leebed reeglid.

Jsonc::decode_object() lükkab tagasi mitteobjektist dokumendid ja vigase sisendi. Jsonc::encode_object() ja Jsonc::encode_compact_object() kirjutavad massiivid objektidokumentidena.