JSONC
storh-lagringsfiler är JSON-objekt och läsningar godtar JSONC: radkommentarer, blockkommentarer och avslutande kommatecken. Det gör postfiler säkra att öppna och kommentera i en editor; storh tolkar dem fortfarande.
{
// Application-owned fields live under data.
"id": "018bcfe5-6800-7000-8000-000000000000",
"data": {
"title": "Home",
},
}
Läsningar försöker först med strikt json_decode och använder den JSONC-borttagaren
endast om det misslyckas, så kanoniska filer belastas aldrig av hantering av kommentarer.
Vad storh skriver
Skrivningar är kanoniska, kompakta JSON på en rad med ett avslutande radslut:
{"id":"018bcfe5-6800-7000-8000-000000000000","data":{"title":"Home"}}
Kommentarer och anpassad formatering finns kvar tills storh skriver om posten.
En put() med samma id ersätter hela filen med kanoniskt utdata, så
behandla kommentarer som tillfälliga anteckningar, inte beständiga metadata. Beständig information
hör hemma i data.
Kodningen bevarar unicode och snedstreck utan escaping och behåller float-nollbråk
(1.0 förblir 1.0), så en avkodning och omkodning av samma data är
byte-stabil. Indexmanifest och andra interna metadatafiler är JSON
objekt med samma lästolerans.
Jsonc::decode_object() avvisar dokument som inte är objekt och felaktig indata.
Jsonc::encode_object() och Jsonc::encode_compact_object() skriver arrayer som
objektdokument.