mygems

JSON Editor: Smart Json

Um documento JSON, três visões que editam.

  • Editor, árvore e grafo
  • JSONPath ao vivo
  • Diff estrutural
  • Offline, sem conta

Por que existe

A maioria dos apps de JSON no celular são visualizadores com nome de editor: formatam, recolhem e pronto. O Smart Json parte da visão que ninguém mais oferece, um grafo de nós e ligações em que você toca para mudar uma chave, um tipo ou um valor, e a mantém confiável fazendo do texto a única fonte da verdade. Edite em qualquer uma das três visões e as outras duas acompanham, porque uma visão que pode divergir do documento é pior que nenhuma.

Cinco telas de celular: uma resposta de API desenhada como grafo de nós e ligações, o mesmo documento como árvore em tópicos, um editor de nó aberto sobre o grafo, um filtro JSONPath encontrando dois nós e uma chave sendo renomeada na árvore.

Três visões ligadas, uma fonte da verdade

O mesmo documento é um editor com destaque de sintaxe, uma árvore recolhível e um grafo interativo. As três editam. O texto manda, então as edições na árvore e no grafo são serializadas de volta, em vez de acompanhadas separadamente, e nada sai de sincronia.

Editor

  • Destaque de sintaxe que retokeniza só o que você digitou, para continuar rápido.
  • Numeração de linhas, quebra de linha e controle de tamanho da fonte.
  • Uma barra de pontuação acima do teclado: chaves, colchetes, aspas, true, false, null, recuo, desfazer e refazer.
  • JSON inválido ganha um aviso em linguagem simples que indica o problema, a linha e a coluna.
  • Toque em Ir para levar o cursor até lá, ou em Corrigir para reparar comentários, vírgulas finais, aspas simples e chaves sem aspas.

Árvore

  • Um esboço recolhível com guias de recuo, selos de tipo e contagem de filhos.
  • Busca em chaves e valores, com filtro por tipo.
  • Edite qualquer nó no lugar: renomear, mudar o tipo, reordenar, duplicar, adicionar, excluir.

Grafo

  • Um diagrama organizado de nós e ligações, da esquerda para a direita ou de cima para baixo.
  • Pinça para dar zoom, arrastar, tocar num nó para expandir, ajustar à tela.
  • Toque num nó para abrir um editor logo abaixo dele: o grafo edita tão bem quanto navega.
  • Expanda tudo, expanda até certa profundidade ou expanda uma única subárvore.
  • Exporte o grafo como PNG ou SVG.

Encontre o que precisa

  • Uma barra de busca em cada visão, com diferenciação de maiúsculas e busca circular no editor.
  • Busca estrutural na árvore e no grafo, com filtros de escopo e tipo, passando pelos resultados.
  • JSONPath que avalia ao vivo e destaca os resultados no editor, na árvore e no grafo ao mesmo tempo.
  • Um subconjunto documentado da RFC 9535, com expressões de filtro.

Compare e converta

  • Compare o documento aberto com um arquivo, a área de transferência ou uma URL.
  • Estrutural, não textual: reformatar não é uma alteração.
  • Subárvores alteradas são destacadas no grafo, e os elementos de array são pareados por identidade quando têm uma.
  • Veja seu documento como YAML, CSV, TOML ou XML, cada um com uma explicação clara do que aquele formato não consegue representar.

Colocando e tirando JSON

  • Abra arquivos do iCloud Drive e do app Arquivos, com abrir, salvar e renomear de verdade.
  • Comece um documento a partir da área de transferência ou de uma URL, enviando seus próprios cabeçalhos na requisição.
  • Uma extensão de compartilhamento aceita JSON de qualquer app, e arquivos JSON5 também abrem.
  • Embeleze, minifique, ordene chaves, corrija automaticamente, escape e desfaça o escape de uma string JSON.
  • Desfaça e refaça tudo, com um histórico por documento compartilhado por todas as visões.

Feito direito

SwiftUI nativo para iPhone e iPad, com suporte completo a teclado, claro ou escuro. Um parser escrito à mão preserva a ordem das chaves e mantém os números exatamente como foram escritos, então nada se perde numa ida e volta. Funciona totalmente offline: sem conta, sem login, sem analytics, e nenhum dado sai do seu dispositivo.

Perguntas

Posso editar no grafo ou só olhar?
Pode editar. Toque num nó e um editor se abre logo abaixo, onde você muda a chave, o tipo ou o valor, adiciona um filho ou exclui o nó. As edições no grafo são serializadas de volta no texto, então o editor e a árvore ficam em dia.
As três visões chegam a sair de sincronia?
Não. O texto é a única fonte da verdade, e as edições da árvore e do grafo são serializadas de volta nele, então as outras duas visões sempre refletem o mesmo documento.
Ele aceita JSONPath?
Sim. Digite uma expressão e ela é avaliada ao vivo, destacando os resultados no editor, na árvore e no grafo ao mesmo tempo. Implementa um subconjunto documentado da RFC 9535, com expressões de filtro.
O que o diff compara?
A estrutura, não o texto. Você pode comparar o documento aberto com um arquivo, a área de transferência ou uma URL, e só reformatar nunca conta como alteração. Subárvores alteradas são destacadas no grafo, e os elementos de array são pareados por identidade quando têm uma.
Para quais formatos ele converte?
YAML, CSV, TOML e XML, e cada prévia informa claramente o que aquele formato não consegue representar. O grafo também pode ser exportado como PNG ou SVG.
O que é grátis e o que exige o Pro?
Todo recurso calcula e mostra o resultado de graça. O Pro serve para guardar esse resultado: extrair resultados de JSONPath para um novo documento, histórico e consultas salvas, diff de texto com exportação de patch, e salvar ou compartilhar uma conversão.