JSONC
storh depolama dosyaları JSON nesneleridir; okumalar JSONC biçimini kabul eder: satır yorumları, blok yorumları ve sondaki virgüller. Böylece kayıt dosyaları bir düzenleyicide güvenle açılıp açıklama eklenebilir; bunları yine storh ayrıştırır.
{
// Application-owned fields live under data.
"id": "018bcfe5-6800-7000-8000-000000000000",
"data": {
"title": "Home",
},
}
Okumalar önce katı bir json_decode ayrıştırıcısını dener; bu başarısız olursa JSONC ayıklayıcıya geçer. Böylece standart dosyalar yorum işleme maliyetine maruz kalmaz.
storh ne yazar
Yazmalar, sondaki satır sonuyla birlikte standart, sıkıştırılmış ve tek satırlık JSON biçimindedir:
{"id":"018bcfe5-6800-7000-8000-000000000000","data":{"title":"Home"}}
storh bir kaydı yeniden yazana kadar yorumlar ve özel biçimlendirme korunur.
Aynı kimliğe yapılan put(), dosyanın tamamını standart çıktıyla değiştirir; bu nedenle yorumları kalıcı üst veriler olarak değil, geçici notlar olarak düşünün. Kalıcı bilgiler data içinde tutulmalıdır.
Kodlama Unicode karakterlerini ve eğik çizgileri kaçış karakteri eklemeden korur, kayan nokta değerlerinin sıfır kesirlerini saklar (1.0, 1.0 olarak kalır); böylece aynı verinin çözülüp yeniden kodlanması bayt düzeyinde tutarlıdır. Dizin manifestoları ve diğer dahili üst veri dosyaları, aynı okuma toleransına sahip JSON nesneleridir.
Jsonc::decode_object() nesne olmayan belgeleri ve hatalı girdileri reddeder.
Jsonc::encode_object() ve Jsonc::encode_compact_object() dizileri nesne belgeleri olarak yazar.