English | 简体中文 | Deutsch | Português | 日本語 | 한국어
JSON Viewer é um widget Flutter para formatar e exibir dados JSON, com suporte para expandir e recolher nós JSON. É principalmente usado para visualizar dados de resposta de API em aplicativos.
Adicione a dependência no pubspec.yaml:
dependencies:
json_shrink_widget: ^1.2.0Forma mais simples de usar:
JsonShrinkWidget(
json: jsonString // Suporta tipos String, Map e List
)JsonShrinkWidget suporta as seguintes opções de configuração:
shrink: bool - Se deve recolher por padrão, padrão é falsedeep: int - Nível de profundidade de travessia JSONindentation: String - Caractere de indentaçãostyle: JsonShrinkStyle - Configuração de estilodeepShrink: int - Nível de recolhimento padrãoshowNumber: bool - Se deve mostrar o número de elementos em arrays/objetosurlSpanBuilder: Function - Estilo personalizado de exibição de link URL
Exemplo de configuração de estilo:
JsonShrinkWidget(
json: jsonString,
shrink: true, // Recolhido por padrão
deep: 3, // Atravessa 3 níveis
indentation: " ", // Usa 2 espaços para indentação
style: JsonShrinkStyle(
// Estilos personalizados
keyStyle: TextStyle(color: Colors.blue),
valueStyle: TextStyle(color: Colors.black),
symbolStyle: TextStyle(color: Colors.grey)
),
showNumber: true // Mostra contagem de elementos
)- Suporte para Múltiplos Tipos de Dados
- String JSON
- Map
- List
- Controle Flexível de Exibição
- Clique para recolher/expandir nós JSON
- Definir nível de recolhimento padrão
- Estilo de indentação personalizado
- Efeitos Visuais Amigáveis
- Destaque de sintaxe
- Alinhamento formatado
- Exibição opcional de contagem de elementos
- Configuração Personalizada
- Personalização de estilo
- Tratamento de link URL
- Controle de indentação
- Exibição Básica de JSON:
String jsonStr = '''
{
"name": "JSON Viewer",
"version": "1.2.0",
"author": "infinity"
}
''';
JsonShrinkWidget(
json: jsonStr
)- Configuração com Estilo:
JsonShrinkWidget(
json: jsonData,
style: JsonShrinkStyle(
keyStyle: TextStyle(
color: Colors.blue,
fontWeight: FontWeight.bold
),
valueStyle: TextStyle(
color: Colors.black87
)
)
)- Mostrar Contagem de Elementos do Array:
JsonShrinkWidget(
json: listData,
showNumber: true, // Mostra comprimento do array
shrink: true // Recolhido por padrão
)- A string JSON de entrada deve estar em formato JSON válido
- Recomenda-se definir uma profundidade de travessia apropriada (parâmetro deep) com base no tamanho dos dados
- Para dados JSON grandes, recomenda-se usar o modo recolhido por padrão
- A configuração de estilo suporta personalização completa de acordo com o tema do aplicativo
- Falha na Análise JSON
- Verifique se o formato da string JSON está correto
- Verifique se a codificação da string é UTF-8
- Problemas de Desempenho
- Controle adequadamente o parâmetro deep
- Use o modo recolhido para conjuntos grandes de dados
- Problemas de Estilo
- Verifique se a configuração de estilo está correta
- Confirme os parâmetros TextStyle
