Ir para o conteúdo
OneKitly

A exportação JSON guarda três coisas para as quais o CSV não tem coluna

Publicado a 09/09/2026 · 3 min de leitura · Ferramentas de ficheiros

Daniel Okonkwo

Daniel Okonkwo — Programador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 3 fontes

Ver perfil →
Em resumo

Ambas as exportações leem o mesmo .ics com o mesmo analisador e depois divergem no que conseguem levar. O CSV escreve oito colunas fixas — resumo, início, fim, local, descrição, organizador, estado, uid — porque uma folha de cálculo é um retângulo e cada evento tem de preencher o mesmo. O JSON escreve cada evento como um objeto: um campo que só alguns eventos têm aparece simplesmente nesses. Na prática, três coisas sobrevivem ao JSON e não ao CSV: tzid, o fuso nomeado em que um início foi escrito; allDay, o marcador que diz que uma data é um dia inteiro e não um instante; e rrule, a regra de recorrência. Uma reunião semanal exportada para JSON volta com "rrule": "FREQ=WEEKLY;BYDAY=MO;COUNT=12" anexo, e uma entrada de Natal com "allDay": true. Nenhum tem para onde ir numa tabela. Escolhe o CSV para ler e ordenar; escolhe o JSON quando o for consumir um script, uma rotina de importação ou outro calendário.

Mesmo ficheiro, mesmo analisador, duas saídas. A folha de cálculo recebe oito colunas; o JSON recebe ainda o fuso nomeado, o indicador de dia inteiro e a regra de recorrência.

Um retângulo contra uma forma

Um CSV tem de fixar as suas colunas antes de escrever a primeira linha, e todas as seguintes têm exatamente essas. É uma força quando queres ordenar por data de início ou contar eventos por local — uma folha de cálculo faz isso num instante e um ninho de objetos não. Torna-se fraqueza assim que os dados são irregulares, e os dados de calendário são-no por natureza: quase nenhum evento tem recorrência, alguns têm; quase todos têm fuso, os de dia inteiro não.

Há uma segunda diferença, mais discreta, a conhecer quando um script lê a saída. No CSV um campo vazio é uma célula vazia sempre presente; no JSON um campo opcional sem valor pode faltar por completo no objeto. Escreve o teu leitor de modo que uma chave ausente e uma cadeia vazia sejam tratadas igual e nenhuma das exportações te surpreenderá.

Dois eventos, as duas exportações, lado a lado
PropriedadeNo CSVNo JSON
Título, início, fim, uidSim, quatro das oito colunasSim
Fuso nomeadoSem coluna"tzid": "Europe/Paris"
Dia inteiro em vez de um instanteSem coluna"allDay": true
Regra de recorrênciaSem coluna"rrule": "FREQ=WEEKLY;BYDAY=MO;COUNT=12"
Um campo vazioUma célula vazia, sempre presenteUma cadeia vazia, ou a chave falta
ICS para JSONExporta eventos de calendário como JSON, com cada data ICS convertida para ISO-8601.Experimentar a ferramenta →

Perguntas frequentes

Posso voltar a transformar o JSON em calendário?
Não diretamente aqui — o lado da importação recebe CSV — mas o JSON é o que convém dar a um script que escreva .ics por si, precisamente porque guarda ainda o fuso, o indicador de dia inteiro e a regra. Se só queres mover um calendário sem o alterar, não passes por nenhuma das exportações: juntar ficheiros .ics guarda tudo e evita a questão.
O JSON desdobra os eventos recorrentes?
Não, e não deveria: leva a regra em vez disso, o que é estritamente mais informação. Um objeto com um rrule de FREQ=WEEKLY;COUNT=12 diz-te ao mesmo tempo que há doze ocorrências e como se espaçam, ao passo que doze objetos desdobrados te dariam as datas perdendo o facto de andarem juntas. Desdobrar é trabalho de quem consome o ficheiro.
Qual devo arquivar?
O próprio .ics. Ambas as exportações são leituras dele, e uma leitura deixa sempre algo de fora — o JSON deixa participantes, alarmes e anexos, tal como o CSV deixa o fuso e a regra. Guarda o original como referência e gera a exportação de que precisares quando precisares.

Artigos que podem interessar-lhe

Todos os guias →
ExplicaçãoUm evento recorrente é uma linha do CSV, não dozeUm ficheiro .ics guarda uma reunião semanal uma só vez, com uma regra anexa. Ao exportar para CSV obténs uma linha para toda a série — é o ficheiro a ser honesto, não o conversor a perder linhas.ExplicaçãoO mesmo ficheiro .ics pode designar cinco horas diferentesO iCalendar escreve uma hora de início de três maneiras, e só uma é inequívoca. Uma reunião escrita com um fuso nomeado, convertida em máquinas de Paris, Nova Iorque e Honolulu, abrangeu dezanove horas e mudou de dia.TutorialConstruir um calendário a partir de um horário que já tens numa folha de cálculoHorários de aulas, calendários de jogos, escalas de turnos e programas de conferência começam todos por ser uma tabela. Quatro colunas bastam para transformar um deles num ficheiro que qualquer aplicação de calendário sabe importar.ComparaçãoDois e-mails numa célula, ou duas cadeias num arrayUm contacto pode ter vários números e vários endereços. O CSV junta-os com um ponto médio numa só célula; o JSON guarda-os como lista, que é a diferença entre um script que funciona e outro que divide a olho.TutorialJuntar calendários e livros de endereços acrescenta — não remove duplicadosAs ferramentas de junção põem cada ficha de cada ficheiro numa só saída, pela ordem em que os deste. É o comportamento certo por omissão e a única coisa a saber antes de lá meteres duas exportações da mesma conta.ExplicaçãoUma morada vCard tem sete partes, e uma coluna de CSV tem umaNomes, moradas e organizações são campos estruturados numa vCard. Achata-os numa folha de cálculo: leem-se de forma idêntica enquanto perdem as costuras — o que conta assim que reconstróis uma vCard a partir dessa folha.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?