Converter JSON para TXT
Ou cole o texto da legenda
O que esta conversão altera
5 coisas são descartadas ou precisam de uma decisão
- Tempos
toda a linha do tempo (o formato de saída não registra tempo algum)
- Estilo
todo o estilo (negrito, itálico, cor, contorno, sombra)
- Posição
a posição na tela (cada bloco volta à posição padrão)
- Karaokê
a sincronização karaokê (destaque por sílaba)
- Quebras de linha
as quebras de linha (blocos de várias linhas serão unidos em uma só linha)
Esta lista vem da matriz de capacidades destes dois formatos, não do arquivo específico que você carregou. Um arquivo específico pode perder mais se usar recursos que o formato permite mas a matriz não modela.
Esta página converte JSON em TXT. Arraste um arquivo — ou cole o texto — e receba a versão TXT de volta. A conversão roda inteiramente no seu navegador, então nada é enviado e nenhuma conta é necessária.
Estes dois formatos não guardam as mesmas coisas, e a diferença não é cosmética: sincronização, estilo, posicionamento, karaokê e quebras de linha não têm para onde ir no TXT. A lista acima vem do que cada um dos formatos consegue expressar, não do seu arquivo, então a resposta é a mesma antes de você carregar qualquer coisa.
Um arquivo está bom, e uma temporada inteira também: a fila processa na ordem e os resultados descem juntos num único ZIP.
Exemplos
Um arquivo JSON típico, convertido para TXT
Entrada
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
Saída
Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.
Perdidos nesta saída: sincronização, estilo, posicionamento, karaokê e quebras de linha. Todo o resto corresponde linha a linha.
A mesma conversão sobre uma entrada problemática
Entrada
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Saída
First.
Second.
Third.
É o tipo de dano que os arquivos reais têm: fim de linha misturado, espaço sobrando, campos vazios. Compare com o exemplo organizado acima para ver o que o analisador perdoa.
Perguntas frequentes
Para onde foram os tempos do JSON na saída TXT?
O TXT não tem nenhum para dar: uma exportação de texto é feita de palavras, não de momentos. A ordem das linhas do JSON é mantida, então a quadragésima linha do seu arquivo é a quadragésima linha aqui, mas nada na saída diz quando qualquer uma delas aparece na tela.
O que acontece com negrito, itálico e cor do JSON para o TXT?
O TXT não guarda estilo de espécie alguma, então tudo se perde: as tags que a linha de um bloco carrega e as entradas do objeto styles do documento não têm onde aterrissar, e cada linha é escrita como texto puro. As palavras em si não são tocadas.
O que acontece com a posição na tela do JSON para o TXT?
O TXT não consegue dizer onde a legenda é desenhada, então a posição guardada com cada bloco some na saída do JSON e todos os blocos retornam à posição padrão que o player escolhe — na maioria deles, a parte de baixo do quadro, centralizada.
O que acontece com o karaokê do JSON para o TXT?
O tempo se perde e as palavras ficam. O karaokê está nos trechos marcados que um bloco JSON carrega, indicando quando cada sílaba acende, e o TXT não tem como registrar um instante dentro de uma linha — então as marcas saem e as sílabas chegam como texto TXT comum.
O que acontece com um bloco JSON de duas linhas no TXT?
As duas linhas são escritas, uma embaixo da outra, mas o arquivo deixa de dizer que elas andam juntas: o TXT não agrupa linhas em um bloco, então reler o resultado daria duas legendas onde o seu JSON tinha uma. Isso importa se uma etapa de tradução ou uma ferramenta de reajuste for ler o arquivo depois.
Como fica a saída quando JSON vira TXT?
Fica no formato TXT: sem números de bloco e sem timecode — uma linha de texto para cada linha de legenda. Cada bloco JSON vira uma linha TXT, na mesma ordem, com o mesmo texto.
A ordem dos blocos JSON se mantém no TXT?
Se mantém, com os blocos ordenados pelo início no caminho, do mais cedo para o mais tarde, que é como os players leem. Se o seu JSON listava os blocos fora de ordem, o TXT os devolve em ordem; a mudança é de estrutura, não de conteúdo, e é proposital.
Consigo converter o TXT de volta para JSON?
Consigo, e essa direção tem lista própria: converter TXT para JSON descarta a sincronização, porque um TXT não guarda tempo nenhum e o JSON precisa de início e fim. A lista difere da de cima porque os dois formatos guardam coisas diferentes.
O TXT de saída mantém a codificação do arquivo JSON?
Não: o TXT gerado é UTF-8, com fim de linha Unix e sem BOM, qualquer que tenha sido a codificação do JSON. Um arquivo que chega em UTF-16 ou numa codificação de byte único do Windows é decodificado na leitura, e o painel de resultado avisa quando isso acontece.