Pāriet uz saturu

JSONC

storh krātuves faili ir JSON objekti, un nolasīšanā tiek atbalstīts JSONC: vienrindas komentāri, bloka komentāri un beigu komati. Tāpēc ierakstu failus var droši atvērt un komentēt redaktorā; storh tos joprojām parsē.

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

Vispirms nolasīšanas procesā tiek izmantots stingrais json_decode, un tikai tad, ja tas neizdodas, tiek izmantots JSONC noņēmējs, tāpēc kanoniskie faili nemaksā par komentāru apstrādi.

Ko raksta storh

Ieraksti ir kanoniski, kompakti, vienas rindas JSON ar beigu rindpadevi:

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

Komentāri un pielāgots formatējums saglabājas, līdz storh nākamreiz pārraksta šo ierakstu. put() tam pašam ID aizstāj visu failu ar kanonisko izvadi, tāpēc uztveriet komentārus kā pagaidu piezīmes, nevis pastāvīgus metadatus. Pastāvīgā informācija jāglabā data.

Kodēšana saglabā Unicode un slīpsvītras bez atsoļa rakstzīmēm un saglabā peldošā komata nulles daļas (1.0 paliek 1.0), tāpēc to pašu datu atkodēšana un atkārtota kodēšana dod identiskus baitus. Indeksu manifesti un citi iekšējie metadatu faili ir JSON objekti ar tādu pašu pielaidīgu nolasīšanu.

Jsonc::decode_object() noraida dokumentus, kas nav objekti, kā arī nepareizi veidotu ievadi. Jsonc::encode_object() un Jsonc::encode_compact_object() masīvus raksta kā objekta dokumentus.