Como Ler uma Exportação JSON do Day One Offline sem Alterá-la
Para inspecionar uma exportação do Day One, mantenha o ZIP baixado inalterado, faça uma cópia de trabalho separada, extraia-a localmente e abra o arquivo `.json` com um editor de texto ou com as ferramentas padrão de JSON do Python. O ZIP é um contêiner; o JSON é texto estruturado; quaisquer pastas de mídia contêm arquivos separados. Você pode verificar se a sintaxe do JSON é válida e localizar possíveis valores de texto, data ou anexo sem presumir o que significam chaves não documentadas. Apenas ter um JSON legível não garante que todos os arquivos de mídia estejam presentes ou que o arquivo compactado possa ser restaurado.
Primeiro, faça a distinção entre ZIP, JSON e mídia
O Day One descreve sua exportação JSON como um ZIP contendo um arquivo `.json` com as entradas selecionadas; mídias podem ser incluídas em pastas de fotos, vídeos, áudios e PDFs. O guia informa que o JSON é destinado à reimportação de dados arquivados e pode ser lido pelo Day One e por aplicativos compatíveis com arquivos JSON do Day One. O [guia de exportação do Day One](https://dayoneapp.com/guides/tips-and-tutorials/exporting-entries/) não define um esquema completo campo por campo, portanto, não considere um nome de arquivo ou chave com aparência familiar como prova de seu significado.
Mantenha o ZIP original intacto. Use a ferramenta de arquivos do seu sistema operacional para extrair uma cópia em uma nova pasta local. Evite enviar um diário pessoal para um formatador online. Antes de abrir ou mover arquivos, observe se o arquivo compactado contém um arquivo JSON, mais de um, ou pastas de mídia; o conteúdo exato depende das opções de exportação. Abrir um arquivo `.zip` como se fosse JSON falhará porque o ZIP é um formato de arquivo diferente.
Verifique a sintaxe JSON localmente
Um documento JSON é um texto que descreve valores estruturados. O nível superior pode ser um objeto, array ou outro valor JSON válido; objetos JSON contêm membros nomeados, enquanto arrays contêm valores ordenados. Strings usam aspas duplas, e vírgulas, dois-pontos e colchetes devem seguir a sintaxe JSON. O [guia de JSON da MDN](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON) explica essas estruturas e restrições comuns de sintaxe.
Para uma verificação local rápida e uma indentação legível, o Python documenta este comando via linha de comando:
`python3 -m json.tool < journal.json`
Use o comando com o caminho para o arquivo extraído e redirecione a saída para um novo arquivo apenas se desejar uma cópia formatada (pretty-printed) separada. O comando imprime o JSON formatado quando a análise é bem-sucedida; se a análise falhar, o Python relatará o local do erro. Uma análise bem-sucedida significa que o texto é um JSON válido para o analisador. Isso não comprova que o arquivo está completo, que seus valores têm os significados que você espera ou que o Day One pode importá-lo. A [documentação de `json` do Python](https://docs.python.org/3/library/json.html) também documenta `json.load()` e `json.loads()` para ler um arquivo ou uma string.
Identifique a estrutura real do documento
Comece no primeiro caractere que não seja espaço em branco. Um `{` de abertura indica um objeto; `[` indica um array. Em uma cópia formatada, expanda o nível externo e inspecione os nomes dos membros e os tipos de valores. Arrays podem conter objetos; esses objetos podem conter arrays ou objetos aninhados. Formatos repetidos de objetos podem ajudar você a encontrar registros de entradas candidatos, mas a repetição por si só não comprova o esquema pretendido pelo exportador.
Pesquise no texto por uma frase que você sabe que aparece em uma entrada e, em seguida, inspecione as chaves e valores ao redor. Registre a chave exata ao lado do valor em vez de renomeá-la com base em uma suposição. Um valor que se parece com uma data pode ser uma data em potencial; uma string que se assemelha a um caminho pode ser uma referência de anexo em potencial. Trate ambos como não confirmados até que a documentação do Day One ou o próprio contexto da exportação confirme o significado deles. Preserve a ortografia, pontuação, sequências de escape e tipos de valor originais em suas anotações.
Interprete escapes e referências de mídia com cautela
Uma sequência visível como `\\n` dentro de uma string JSON representa uma quebra de linha com escape; não se trata necessariamente de dois caracteres na entrada original. Aspas e barras invertidas também recebem escape. Um analisador pode exibir “Linha um\nLinha dois” como uma string contendo uma quebra de linha, enquanto o texto JSON codifica essa quebra com `\\n`. Compare os valores em um leitor ou analisador sem editar o arquivo de origem.
Se um valor se assemelhar a um nome de arquivo de mídia ou a um caminho relativo, verifique se um arquivo correspondente existe nas pastas de mídia extraídas. Registre a referência exata e a correspondência como uma observação, não como prova de que a referência é resolvida corretamente no Day One. A ausência de uma correspondência pode refletir opções de exportação, diferenças de nomenclatura ou outros detalhes não confirmados apenas pelo campo. Mantenha qualquer inventário separado da exportação original.
Use um registro de inspeção em vez de nomes de campos presumidos
Uma tabela pequena torna a incerteza explícita e ajuda outra pessoa a repetir sua revisão:
Por exemplo, um objeto JSON genérico pode conter `{\"text\":\"A note\",\"date\":\"2024-05-06\",\"attachment\":\"photos/example.jpg\"}`. Esses são apenas nomes e valores ilustrativos, não uma afirmação sobre o esquema do Day One. Mantenha o valor original inalterado em suas anotações; evite converter formatos de data, resolver caminhos por adivinhação ou excluir membros desconhecidos.
Saiba o que a inspeção não pode comprovar
Uma sintaxe válida não prova que a exportação inclui todas as entradas selecionadas ou os arquivos de mídia pretendidos. Ver um valor que aparenta ser um anexo não prova que o arquivo referenciado está presente, e encontrar um arquivo com nome semelhante não confirma o comportamento de importação. O guia do Day One identifica o JSON como um formato de arquivamento e reimportação, mas uma inspeção somente leitura não é um teste de restauração. Se precisar de garantias sobre portabilidade ou recuperação, consulte as instruções atuais do Day One e faça qualquer verificação de importação separadamente em uma cópia segura, preservando a exportação intacta.
