Blog Metlivi

Come leggere offline un export JSON di Day One senza modificarlo

Per ispezionare un export di Day One, conserva il file ZIP scaricato senza modificarlo, crea una copia di lavoro separata, estraila localmente e apri il file `.json` con un editor di testo o con gli strumenti JSON standard di Python. Il file ZIP è un contenitore; il JSON è testo strutturato; eventuali cartelle multimediali contengono file separati. Puoi verificare se la sintassi JSON è valida e individuare valori candidati per testi, date o allegati senza presumere il significato delle chiavi non documentate. Un JSON leggibile da solo non garantisce che ogni file multimediale sia presente o che l'archivio possa essere ripristinato.

30 settembre 20264 min di letturaEstetica quotidiana ed espressione personaleDi Metlivi Editorial Team
Sezione 1

Prima di tutto distingui ZIP, JSON e contenuti multimediali

Day One descrive il suo export JSON come uno ZIP contenente un file `.json` con le voci selezionate; i contenuti multimediali possono essere inclusi in cartelle per foto, video, audio e PDF. La guida spiega che il JSON è destinato alla reimportazione dei dati archiviati e può essere letto da Day One e dalle app che supportano i file JSON di Day One. La [guida all'esportazione di Day One](https://dayoneapp.com/guides/tips-and-tutorials/exporting-entries/) non definisce uno schema completo campo per campo, quindi non considerare un nome di file o una chiave dall'aspetto familiare come una prova del loro significato.

Mantieni intatto il file ZIP originale. Usa lo strumento di archiviazione del tuo sistema operativo per estrarre una copia in una nuova cartella locale. Evita di caricare un diario personale su un formattatore online. Prima di aprire o spostare i file, verifica se l'archivio contiene un solo file JSON, più di uno o cartelle multimediali; il contenuto esatto dipende dalle opzioni di esportazione scelte. Aprire un `.zip` come se fosse un JSON fallirà perché lo ZIP è un formato di file differente.

Sezione 2

Verifica la sintassi JSON localmente

Un documento JSON è un testo che descrive valori strutturati. Il livello principale può essere un oggetto, un array o un altro valore JSON valido; gli oggetti JSON contengono membri con nome, mentre gli array contengono valori ordinati. Le stringhe utilizzano le virgolette doppie, e virgole, due punti e parentesi devono rispettare la sintassi JSON. La [guida al JSON di MDN](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON) illustra queste strutture e le comuni restrizioni sintattiche.

Per un rapido controllo locale e un'indentazione leggibile, Python documenta questa sintassi da riga di comando:

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

Esegui il comando indicando il percorso del file estratto e reindirizza l'output verso un nuovo file solo se desideri una copia formattata (pretty-printed) separata. Il comando stampa il JSON formattato quando il parsing ha successo; se il parsing fallisce, Python segnala la posizione dell'errore. Un parsing riuscito significa che il testo è JSON valido per il parser. Non dimostra che il file sia completo, che i suoi valori abbiano il significato atteso o che Day One sia in grado di importarlo. La [documentazione su `json` di Python](https://docs.python.org/3/library/json.html) documenta inoltre `json.load()` e `json.loads()` per la lettura da file o da stringa.

Sezione 3

Individua la struttura effettiva del documento

Inizia dal primo carattere che non sia uno spazio vuoto. Una parentesi `{` iniziale indica un oggetto; `[` indica un array. In una copia formattata, espandi il livello più esterno ed esamina i nomi dei membri e i tipi di valore. Gli array possono contenere oggetti; tali oggetti possono a loro volta contenere array o oggetti nidificati. Le strutture di oggetti che si ripetono possono aiutarti a trovare i record candidati a essere singole voci del diario, ma la semplice ripetizione non prova lo schema inteso dall'esportatore.

Cerca nel testo una frase che sai essere presente in una voce, quindi ispeziona le parentesi e i valori circostanti. Annota la chiave esatta accanto al valore invece di rinominarla in base a un'ipotesi. Un valore che sembra una data può essere una data candidata; una stringa che ricorda un percorso può essere un riferimento candidato a un allegato. Tratta entrambi come elementi non definiti finché la documentazione di Day One o il contesto stesso dell'export non ne confermano il significato. Conserva nelle tue note l'ortografia originale, la punteggiatura, le sequenze di escape e i tipi di valore.

Sezione 4

Interpreta i caratteri di escape e i riferimenti multimediali con cautela

Una sequenza visibile come `\\n` all'interno di una stringa JSON rappresenta un a capo con escape; non corrisponde necessariamente a due caratteri distinti nella voce originale. Anche le virgolette e le barre rovesciate (backslash) presentano caratteri di escape. Un parser può visualizzare "Riga uno\nRiga due" come una stringa contenente un'interruzione di riga, mentre il testo JSON codifica tale interruzione con `\\n`. Confronta i valori all'interno di un lettore o di un parser senza modificare il file di origine.

Se un valore assomiglia al nome di un file multimediale o a un percorso relativo, controlla se il file corrispondente esiste nelle cartelle dei media estratti. Registra il riferimento esatto e l'eventuale corrispondenza come una semplice osservazione, non come la prova che il riferimento si risolva correttamente in Day One. La mancata corrispondenza potrebbe dipendere dalle opzioni di esportazione, da differenze di denominazione o da altri dettagli non desumibili dal solo campo. Mantieni qualsiasi inventario separato dall'export originale.

Sezione 5

Utilizza una scheda di ispezione, non nomi di campo ipotizzati

Una semplice tabella rende esplicita l'incertezza e aiuta un'altra persona a replicare la tua analisi:

Ad esempio, un generico oggetto JSON potrebbe contenere `{\"text\":\"A note\",\"date\":\"2024-05-06\",\"attachment\":\"photos/example.jpg\"}`. Questi sono soltanto nomi e valori a scopo illustrativo, non un'indicazione definitiva sullo schema di Day One. Mantieni il valore originale inalterato nelle tue note; evita di convertire i formati di data, di risolvere i percorsi tirando a indovinare o di eliminare membri sconosciuti.

Contenuto del contenitore: nomi di file e cartelle presenti dopo l'estrazione
Struttura JSON: tipo di livello principale e nidificazione osservata
Valore candidato: chiave esatta, tipo di valore e un breve estratto
Significato possibile: "Candidato testo/data/allegato"; contrassegnare come non verificato
Media correlati: percorso esatto e indicazione se è stato trovato un file corrispondente
Sezione 6

Sii consapevole di cosa l'ispezione non può stabilire

Una sintassi valida non dimostra che l'export includa ogni voce selezionata o tutti i file multimediali previsti. Vedere il valore candidato di un allegato non prova che il file a cui fa riferimento sia effettivamente presente, e trovare un file con un nome simile non conferma il comportamento in fase di importazione. La guida di Day One identifica il JSON come un formato di archiviazione e reimportazione, ma un'ispezione in sola lettura non equivale a un test di ripristino. Se necessiti di garanzie sulla portabilità o sul recupero, consulta le istruzioni aggiornate di Day One ed esegui qualsiasi test di importazione separatamente su una copia sicura, preservando l'export originale intatto.

Letture correlate

Continua a esplorare il tema