jquery - react - Editor JSON baseado em GUI ou baseado na Web que funciona como explorador de propriedades




react json editor (2)

Antecedentes: Este é um pedido de algo que talvez ainda não exista, mas estou pensando em construir um por um longo tempo. Primeiro vou perguntar se alguém já viu algo parecido.

Suponha que você tenha uma estrutura JSON arbitrária como a seguinte:

{
    'title_str':'My Employee List'
    ,'lastmod_str': '2009-June-15'
    ,'employee_table':[
        {'firstname':'john','lastname':'doe','age':'33',}
        ,{'firstname':'jane','lastname':'doe','age':'34',}
        ,{'firstname':'samuel','lastname':'doe','age':'35',}
    ]
}

Pergunta: Existe um editor JSON baseado na web que pode ter uma estrutura como essa e permitir automaticamente que o usuário modifique isso em uma GUI amigável?

Exemplo: Imagine um formulário HTML gerado automaticamente que exibe 2 controles de tipo de texto de entrada para título e lastmod e uma tabela de controles de tipo de texto de entrada com três colunas e três linhas para arr_list ... com a capacidade de excluir ou adicione linhas adicionais clicando em um [+] [X] ao lado de cada linha na tabela.

Grande idéia: A "grande idéia" por trás disso é que o usuário seria capaz de especificar qualquer estrutura JSON arbitrária (não recursiva) e também ser capaz de editar a estrutura com uma interação baseada em GUI (isso seria semelhante ao "XML Editor Grid View" no XML Spy).

Veja também:

Atualização: (qui 2014-07-31 18:31:11)

Um repositório do github foi criado para rastrear ainda mais essa postagem SO fechada.


Geralmente, quando quero criar uma string JSON ou YAML, inicio construindo a estrutura de dados Perl e, em seguida, executando uma conversão simples nela. Você poderia colocar uma interface do usuário na frente da geração da estrutura de dados Perl, por exemplo, um formulário da web.

Converter uma estrutura em JSON é muito simples:

use strict;
use warnings;
use JSON::Any;

my $data = { arbitrary structure in here };
my $json_handler = JSON::Any->new(utf8=>1);
my $json_string = $json_handler->objToJson($data);

Atualização: Em um esforço para responder minha própria pergunta, aqui está o que eu consegui descobrir até agora. Se mais alguém tiver alguma coisa, eu ainda estaria interessado em saber mais.

Baseado no esquema JSON

Comercial (Sem endosso intencional ou implícito, pode ou não atender à exigência)

jQuery

YAML

Veja também





wysiwyg