Blog Metlivi

Jak odczytać eksport JSON z Day One offline, nie zmieniając go

Aby sprawdzić eksport z Day One, pozostaw pobrany plik ZIP bez zmian, utwórz osobną kopię roboczą, rozpakuj ją lokalnie i otwórz plik .json w edytorze tekstu lub za pomocą standardowych narzędzi JSON w Pythonie. ZIP jest kontenerem, JSON to tekst o określonej strukturze, a foldery multimediów zawierają osobne pliki. Możesz sprawdzić poprawność składni JSON i znaleźć potencjalne wartości tekstowe, daty lub załączniki, nie zakładając przy tym znaczenia nieudokumentowanych kluczy. Czytelny JSON sam w sobie nie potwierdza, że wszystkie pliki multimedialne są dostępne ani że archiwum można przywrócić.

30 września 20264 min czytaniaAutor: Metlivi Editorial Team
Sekcja 1

Najpierw rozróżnij plik ZIP, JSON i multimedia

Day One opisuje eksport w formacie JSON jako plik ZIP zawierający plik .json z wybranymi wpisami; multimedia mogą być umieszczone w folderach na zdjęcia, filmy, nagrania audio i pliki PDF. Zgodnie z poradnikiem JSON służy do ponownego importowania zarchiwizowanych danych i może być odczytywany przez Day One oraz aplikacje obsługujące pliki JSON z Day One. Poradnik eksportu Day One nie definiuje kompletnego schematu opisującego każde pole, więc nie uznawaj znajomo wyglądającej nazwy pliku ani klucza za dowód ich znaczenia.

Nie zmieniaj oryginalnego pliku ZIP. Użyj narzędzia do archiwizacji w swoim systemie operacyjnym, aby rozpakować kopię do nowego folderu lokalnego. Nie przesyłaj osobistego dziennika do internetowego narzędzia do formatowania. Zanim otworzysz lub przeniesiesz pliki, zanotuj, czy archiwum zawiera jeden plik JSON, więcej niż jeden plik czy foldery multimediów; dokładna zawartość zależy od opcji eksportu. Próba otwarcia pliku .zip tak, jakby był plikiem JSON, nie powiedzie się, ponieważ ZIP to inny format pliku.

Sekcja 2

Sprawdź lokalnie składnię JSON

Dokument JSON to tekst opisujący uporządkowane wartości. Na najwyższym poziomie może znajdować się obiekt, tablica lub inna poprawna wartość JSON; obiekty JSON zawierają nazwane elementy, a tablice uporządkowane wartości. Ciągi znaków zapisuje się w cudzysłowach, a przecinki, dwukropki i nawiasy muszą być zgodne ze składnią JSON. Przewodnik MDN po JSON objaśnia te struktury oraz typowe ograniczenia składni.

Do szybkiego lokalnego sprawdzenia składni i uzyskania czytelnego wcięcia Python opisuje następującą postać polecenia:

python3 -m json.tool < journal.json

Użyj polecenia, podając ścieżkę do wyodrębnionego pliku. Przekieruj dane wyjściowe do nowego pliku tylko wtedy, gdy chcesz uzyskać osobną, ładnie sformatowaną kopię. Polecenie wyświetla sformatowany kod JSON, jeśli parsowanie się powiedzie; jeśli się nie powiedzie, Python podaje miejsce wystąpienia błędu. Pomyślne parsowanie oznacza, że tekst jest poprawnym kodem JSON dla tego parsera. Nie potwierdza jednak, że plik jest kompletny, że jego wartości mają oczekiwane znaczenie ani że Day One może go zaimportować. Dokumentacja json języka Python opisuje również json.load() i json.loads(), które służą do odczytywania pliku lub ciągu znaków.

Sekcja 3

Sprawdź rzeczywistą strukturę dokumentu

Zacznij od pierwszego znaku, który nie jest białym znakiem. Otwierający { wskazuje na obiekt, a [ na tablicę. W sformatowanej kopii rozwiń najwyższy poziom i sprawdź nazwy elementów oraz typy wartości. Tablice mogą zawierać obiekty, które z kolei mogą zawierać tablice lub zagnieżdżone obiekty. Powtarzające się struktury obiektów mogą pomóc znaleźć potencjalne rekordy wpisów, ale samo ich powtarzanie nie dowodzi, jaki schemat zamierzał zastosować program eksportujący.

Wyszukaj w tekście frazę, o której wiesz, że występuje we wpisie, a następnie sprawdź otaczające ją nawiasy klamrowe i wartości. Zapisz dokładny klucz obok wartości, zamiast zmieniać jego nazwę na podstawie przypuszczeń. Wartość wyglądająca jak data może być potencjalną datą, a ciąg przypominający ścieżkę może być potencjalnym odwołaniem do załącznika. Nie rozstrzygaj ich znaczenia, dopóki nie potwierdzi go dokumentacja Day One lub kontekst samego eksportu. W notatkach zachowaj oryginalną pisownię, interpunkcję, sekwencje znaków ucieczki i typy wartości.

Sekcja 4

Ostrożnie interpretuj sekwencje znaków ucieczki i odwołania do multimediów

Widoczna sekwencja, taka jak \n wewnątrz ciągu JSON, oznacza znak nowej linii zapisany jako sekwencja ucieczki; nie musi odpowiadać dwóm znakom w oryginalnym wpisie. Cudzysłowy i ukośniki odwrotne również są zapisywane jako sekwencje ucieczki. Parser może wyświetlić „Line one Line two” jako ciąg zawierający znak końca wiersza, podczas gdy tekst JSON koduje ten znak za pomocą \n. Porównuj wartości w czytniku lub parserze, nie edytując pliku źródłowego.

Jeśli wartość przypomina nazwę pliku multimedialnego lub ścieżkę względną, sprawdź, czy odpowiadający jej plik znajduje się w rozpakowanych folderach multimediów. Zapisz dokładne odwołanie i informację o dopasowaniu jako obserwację, a nie dowód, że odwołanie zostanie poprawnie rozpoznane w Day One. Brak dopasowania może wynikać z opcji eksportu, różnic w nazewnictwie lub innych szczegółów, których nie da się ustalić na podstawie samego pola. Wszelki wykaz plików przechowuj osobno od oryginalnego eksportu.

Sekcja 5

Prowadź zapis inspekcji zamiast zgadywać nazwy pól

Niewielka tabela pozwala jasno zaznaczyć niepewność i ułatwia innej osobie powtórzenie przeglądu:

Przykładowy, ogólny obiekt JSON może zawierać {"text":"A note","date":"2024-05-06","attachment":"photos/example.jpg"}. To wyłącznie przykładowe nazwy i wartości, a nie opis schematu Day One. Zachowaj oryginalną wartość w notatkach; nie zmieniaj formatu dat, nie ustalaj ścieżek na podstawie domysłów i nie usuwaj nieznanych elementów.

Zawartość kontenera: Nazwy plików i foldery obecne po rozpakowaniu

Struktura JSON: Zaobserwowany typ najwyższego poziomu i zagnieżdżenia

Potencjalna wartość: Dokładny klucz, typ wartości i krótki fragment

Możliwe znaczenie: „Potencjalny tekst/data/załącznik”; oznacz jako niezweryfikowane

Powiązane multimedia: Dokładna ścieżka i informacja, czy znaleziono pasujący plik

Sekcja 6

Pamiętaj, czego nie da się ustalić na podstawie inspekcji

Poprawna składnia nie dowodzi, że eksport zawiera wszystkie wybrane wpisy ani zamierzone pliki multimedialne. Znalezienie potencjalnej wartości załącznika nie dowodzi, że wskazany plik istnieje, a znalezienie pliku o podobnej nazwie nie potwierdza, jak będzie przebiegał import. Poradnik Day One wskazuje JSON jako format archiwizacji i ponownego importu, ale inspekcja bez wprowadzania zmian nie jest testem przywracania. Jeśli chcesz mieć pewność co do przenośności lub możliwości odzyskania danych, sprawdź aktualne instrukcje Day One i przeprowadź ewentualny test importu osobno, na bezpiecznej kopii, zachowując nienaruszony eksport.

Warto przeczytać

Eksploruj dalej ten temat