Metlivi Blog

Day One JSON Dışa Aktarımı Değiştirilmeden Çevrim Dışı Olarak Nasıl Okunur?

Bir Day One dışa aktarımını incelemek için, indirilen ZIP dosyasını değiştirmeden saklayın, ayrı bir çalışma kopyası oluşturun, bunu yerel olarak dışa aktarın ve `.json` dosyasını bir metin düzenleyici veya Python'ın standart JSON araçlarıyla açın. ZIP bir kapsayıcıdır; JSON yapılandırılmış metindir; tüm medya klasörleri ayrı dosyalar barındırır. Belgelenmemiş anahtarların ne anlama geldiğini varsaymadan JSON sözdiziminin geçerli olup olmadığını kontrol edebilir ve olası metin, tarih veya ek değerlerini bulabilirsiniz. Yalnızca okunabilir bir JSON, her medya dosyasının mevcut olduğunu veya arşivin geri yüklenebileceğini göstermez.

30 Eylül 20264 dk okumaGündelik estetik ve kendini ifade etmeYazan: Metlivi Editorial Team
Bölüm 1

Öncelikle ZIP, JSON ve medyayı ayırt edin

Day One, JSON dışa aktarımını seçilen girişleri içeren bir `.json` dosyasına sahip bir ZIP olarak tanımlar; fotoğraflar, videolar, sesler ve PDF'ler için klasörler halinde medya dahil edilebilir. Kılavuz, JSON'ın arşivlenen verileri yeniden içe aktarma amacıyla tasarlandığını ve Day One ile Day One JSON dosyalarını destekleyen uygulamalar tarafından okunabileceğini belirtmektedir. [Day One'ın dışa aktarma kılavuzu](https://dayoneapp.com/guides/tips-and-tutorials/exporting-entries/) alan bazında eksiksiz bir şema tanımlamaz, bu nedenle tanıdık görünen bir dosya adını veya anahtarı anlamının kesin kanıtı olarak kabul etmeyin.

Orijinal ZIP dosyasını el değmemiş halde tutun. Bir kopyasını yeni bir yerel klasöre çıkarmak için işletim sisteminizin arşiv aracını kullanın. Kişisel bir günlüğü çevrim içi bir biçimlendiriciye yüklemekten kaçının. Dosyaları açmadan veya taşımadan önce, arşivin bir JSON dosyası mı, birden fazla mı yoksa medya klasörleri mi içerdiğine dikkat edin; tam içerik dışa aktarma seçeneklerine bağlıdır. Bir `.zip` dosyasını sanki JSON'mış gibi açmak başarısız olur çünkü ZIP farklı bir dosya biçimidir.

Bölüm 2

JSON sözdizimini yerel olarak kontrol edin

Bir JSON belgesi, yapılandırılmış değerleri açıklayan bir metindir. En üst düzey bir nesne, dizi veya geçerli başka bir JSON değeri olabilir; JSON nesneleri adlandırılmış üyeler içerirken diziler sıralı değerler içerir. Dizgeler çift tırnak kullanır ve virgüller, iki nokta üst üste işaretleri ve köşeli parantezler JSON sözdizimine uygun olmalıdır. [MDN'nin JSON kılavuzu](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON) bu yapıları ve yaygın sözdizimi kısıtlamalarını açıklamaktadır.

Hızlı bir yerel kontrol ve okunabilir girintileme için Python şu komut satırı biçimini belgeler:

`python3 -m json.tool < journal.json`

Komutu çıkarılan dosyanızın yoluyla kullanın ve çıktıyı yalnızca ayrı bir biçimlendirilmiş (pretty-printed) kopya istiyorsanız yeni bir dosyaya yönlendirin. Ayrıştırma başarılı olduğunda komut biçimlendirilmiş JSON yazdırır; ayrıştırma başarısız olursa Python bir hata konumu bildirir. Başarılı bir ayrıştırma, metnin ayrıştırıcı için geçerli JSON olduğu anlamına gelir. Dosyanın eksiksiz olduğunu, değerlerinin beklediğiniz anlamlara sahip olduğunu veya Day One'ın bunu içe aktarabileceğini kanıtlamaz. [Python'ın `json` belgeleri](https://docs.python.org/3/library/json.html) ayrıca bir dosyayı veya dizgeyi okumak için `json.load()` ve `json.loads()` işlevlerini de belgeler.

Bölüm 3

Belgenin gerçek biçimini bulun

Boşluk olmayan ilk karakterden başlayın. Açılış `{` bir nesneyi; `[` bir diziyi belirtir. Biçimlendirilmiş bir kopyada, dış düzeyi genişletin ve üye adlarını ve değer türlerini inceleyin. Diziler nesneler içerebilir; bu nesneler de diziler veya iç içe geçmiş nesneler içerebilir. Yinelenen nesne biçimleri olası giriş kayıtlarını bulmanıza yardımcı olabilir, ancak yineleme tek başına dışa aktaran sistemin amaçlanan şemasını kanıtlamaz.

Metinde bir girişte göründüğünü bildiğiniz bir ifadeyi arayın, ardından çevreleyen parantezleri ve değerleri inceleyin. Değeri bir tahmine dayanarak yeniden adlandırmak yerine tam anahtarı değerin yanına kaydedin. Tarihe benzeyen bir değer potansiyel bir tarih olabilir; bir yola benzeyen bir dizge potansiyel bir ek referansı olabilir. Day One belgeleri veya dışa aktarımın kendi bağlamı anlamlarını doğrulayana kadar her ikisini de belirsiz kabul edin. Notlarınızda orijinal yazımı, noktalama işaretlerini, kaçış dizilerini ve değer türlerini koruyun.

Bölüm 4

Kaçış karakterlerini ve medya referanslarını temkinli yorumlayın

Bir JSON dizgesi içinde görünen `\\n` gibi bir dizi, kaçışlı bir yeni satırı temsil eder; orijinal girişte mutlaka iki karakter olması gerekmez. Tırnak işaretleri ve ters eğik çizgiler de kaçışlıdır. Bir ayrıştırıcı "Line one\nLine two" ifadesini bir satır sonu içeren bir dizge olarak görüntüleyebilirken, JSON metni bu sonu `\\n` ile kodlar. Kaynak dosyayı düzenlemeden değerleri bir okuyucu veya ayrıştırıcıda karşılaştırın.

Bir değer bir medya dosya adına veya göreli yola benziyorsa, çıkarılan medya klasörlerinde karşılık gelen bir dosyanın bulunup bulunmadığını kontrol edin. Tam referansı ve eşleşmeyi bir gözlem olarak kaydedin; referansın Day One içinde doğru şekilde çözüldüğünün kanıtı olarak değil. Eksik bir eşleşme, dışa aktarma seçeneklerini, adlandırma farklılıklarını veya tek başına alan tarafından belirlenmeyen diğer ayrıntıları yansıtabilir. Her türlü envanteri orijinal dışa aktarımdan ayrı tutun.

Bölüm 5

Tahmin edilen alan adlarını değil, bir inceleme kaydı kullanın

Küçük bir tablo, belirsizliği açık hale getirir ve başka birinin incelemenizi tekrarlamasına yardımcı olur:

Örneğin, genel bir JSON nesnesi `{\"text\":\"A note\",\"date\":\"2024-05-06\",\"attachment\":\"photos/example.jpg\"}` içerebilir. Bunlar yalnızca örnek niteliğinde adlar ve değerlerdir; Day One'ın şeması hakkında bir beyan değildir. Notlarınızda orijinal değeri değiştirmeden saklayın; tarih biçimlerini dönüştürmekten, yolları tahminle çözmekten veya bilmediğiniz üyeleri silmekten kaçının.

Kapsayıcı içeriği: Çıkarma işleminden sonra mevcut olan dosya adları ve klasörler
JSON yapısı: Gözlemlenen en üst düzey tür ve iç içe geçme
Olası değer: Tam anahtar, değer türü ve kısa bir alıntı
Olası anlam: "Aday metin/tarih/ek"; doğrulanmadı olarak işaretleyin
İlgili medya: Tam yol ve eşleşen bir dosyanın bulunup bulunmadığı
Bölüm 6

İncelemenin neleri tespit edemeyeceğini bilin

Geçerli bir sözdizimi, dışa aktarımın seçilen her girişi veya amaçlanan medya dosyasını içerdiğini kanıtlamaz. Olası bir ek değerini görmek, başvurulan dosyanın mevcut olduğunu kanıtlamaz ve benzer şekilde adlandırılmış bir dosya bulmak, içe aktarma davranışını doğrulamaz. Day One'ın kılavuzu JSON'ı bir arşivleme ve yeniden içe aktarma biçimi olarak tanımlar, ancak salt okunur bir inceleme bir geri yükleme testi değildir. Taşınabilirlik veya kurtarma konusunda güvenceye ihtiyacınız varsa güncel Day One talimatlarına bakın ve her türlü içe aktarma kontrolünü, el değmemiş dışa aktarımı koruyarak güvenli bir kopya üzerinde ayrı olarak gerçekleştirin.

İlgili okumalar

Bu konuyu keşfetmeye devam et