Pereiti prie turinio

JSONC

storh saugyklos failai yra JSON objektai, o skaitant priimama JSONC: eilučių komentarai, blokiniai komentarai ir galiniai kableliai. Taip įrašų failus saugu atverti ir anotuoti redaktoriuje; storh vis tiek juos išanalizuoja.

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

Pirmiausia bandoma griežtai skaityti json_decode, o tik nesėkmės atveju naudojamas JSONC šalinimo įrankis, todėl kanoniniams failams nereikia apdoroti komentarų.

Ką rašo storh

Įrašai yra kanoniniai, kompaktiški, vienos eilutės JSON su galiniu naujos eilutės simboliu:

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

Komentarai ir pasirinktinis formatavimas išlieka, kol storh kitą kartą perrašo tą įrašą. put() į tą patį ID pakeičia visą failą kanoniniu išrašu, todėl komentarus laikykite laikinais užrašais, o ne ilgalaikiais metaduomenimis. Ilgalaikė informacija priklauso data.

Koduojant „Unicode“ simboliai ir pasvirieji brūkšniai paliekami neekranuoti, o nulio trupmeninės dalys išsaugomos (1.0 lieka 1.0), todėl tų pačių duomenų iškodavimas ir pakartotinis kodavimas duoda baitų požiūriu identišką rezultatą. Indeksų manifestai ir kiti vidinių metaduomenų failai yra JSON objektai, kuriems taikomas toks pats lankstus skaitymas.

Jsonc::decode_object() atmeta ne objektų dokumentus ir netaisyklingus duomenis. Jsonc::encode_object() ir Jsonc::encode_compact_object() masyvus įrašo kaip objektų dokumentus.