Ugrás a tartalomhoz

JSONC

A storh tárolófájljai JSON objektumok, olvasáskor pedig elfogadja a JSONC elemeket: sorvégi megjegyzéseket, blokkmegjegyzéseket és záró vesszőket. Így a rekordfájlok biztonságosan megnyithatók és jegyzetekkel láthatók el egy szerkesztőben; a storh továbbra is be tudja olvasni őket.

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

Az olvasás először szigorú json_decode feldolgozással próbálkozik, és csak hiba esetén tér át a JSONC eltávolító eljárásra, így a szabványos fájloknál nincs szükség a megjegyzések kezelésére.

Mit ír a storh

Az írások szabványos formátumú, tömör, egysoros JSON adatot hoznak létre, amelyet sortörés zár:

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

A megjegyzések és az egyéni formázás addig marad meg, amíg a storh újra nem írja az adott rekordot. Az ugyanarra az azonosítóra irányuló put() a teljes fájlt szabványos kimenettel cseréli le, ezért a megjegyzéseket csak ideiglenes jegyzetként kezelje, ne tartós metaadatként. A tartós információkat a data tárolja.

A kódolás változatlanul hagyja az Unicode-karaktereket és a perjeleket, továbbá megőrzi a lebegőpontos nullatörteket (1.0 marad 1.0), így ugyanazon adatok dekódolása és újrakódolása bájtról bájtra azonos eredményt ad. Az indexjegyzékek és más belső metaadatfájlok JSON objektumok, és ugyanilyen megengedő olvasási szabályok vonatkoznak rájuk.

A Jsonc::decode_object() elutasítja a nem objektum típusú dokumentumokat és a hibás bemenetet. A Jsonc::encode_object() és a Jsonc::encode_compact_object() a tömböket objektumdokumentumként írja ki.