Edytor JSON oparty na graficznym interfejsie użytkownika lub sieci, który działa jak eksplorator właściwości [zamknięty]

217

Tło: To jest prośba o coś, co może jeszcze nie istnieć, ale od dawna zamierzałem je zbudować. Najpierw zapytam, czy ktoś jeszcze coś takiego widział.

Załóżmy, że masz dowolną strukturę JSON, taką jak:

{
    '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',}
    ]
}

Pytanie: Czy istnieje internetowy edytor JSON, który mógłby przyjąć taką strukturę i automatycznie pozwolić użytkownikowi na modyfikację tego w przyjaznym dla użytkownika interfejsie GUI?

Przykład: Wyobraź sobie automatycznie wygenerowany formularz HTML, który wyświetla 2 kontrolki tekstu wejściowego dla tytułu i lastmod oraz tabelę kontrolek tekstu wejściowego z trzema kolumnami i trzema wierszami dla arr_list ... z możliwością usuwania lub dodaj dodatkowe wiersze, klikając [+] [X] obok każdego wiersza w tabeli.

Wielki pomysł: „Wielkim pomysłem” za tym jest to, że użytkownik byłby w stanie określić dowolną dowolną (nierekurencyjną) strukturę JSON, a następnie byłby również w stanie edytować strukturę za pomocą interakcji opartej na GUI (byłoby to podobne do „Widok siatki edytora XML” w XML Spy).

Zobacz też:

Aktualizacja: (czw. 2014-07-31 18:31:11)

Utworzono repozytorium github w celu dalszego śledzenia tego zamkniętego postu SO.

dreftymac
źródło
Czy masz jakieś postępy w tworzeniu własnego edytora? szukałem tego samego. To, co znalazłem w sieci, jest prawie takie same, jak podane w odpowiedzi.
Sinan
Nie. Wygląda na to, że jest to dość dobry pomysł, za którym nie ma wystarczającego rozmachu.
dreftymac
jeśli zdobędę na to wystarczającą rozpęd, z przyjemnością napiszę pierwszą aplikację do kakao, jeśli nie poprosisz o prawa autorskie;)
Sinan,
1
Jestem zbyt mały, aby objąć ścianę jakimikolwiek moimi pomysłami, i tak już zostało zrobione :) ... spójrz na edytor widoków siatki XMLSPY, jeśli zdecydujesz się rozwiązać ten problem i potrzebujesz dodatkowej inspiracji: altova .com / xmlspy / xml-grid-view.html
dreftymac
Zastanawiałem się nad tym i znalazłem twoje pytanie, sprawdzając, czy jest na to zapotrzebowanie. podczas sprawdzania, czy istnieje potrzeba złożenia prototypu
13ren

Odpowiedzi:

334

Aktualizacja: Aby odpowiedzieć na moje pytanie, oto, co udało mi się odkryć do tej pory. Jeśli ktoś jeszcze coś ma, nadal chciałbym dowiedzieć się więcej.

Na podstawie schematu JSON

Komercyjne (Brak poparcia zamierzonego lub dorozumianego, może, ale nie musi spełniać wymagania)

jQuery

YAML

Zobacz też

dreftymac
źródło
1
Form Builder wykonany we Freji wygląda niesamowicie! Chociaż jest to (prawie) całkowicie niezwiązane z pytaniem ...: P
cregox
1
@Cawas Wygląda niesamowicie. To zaskakujące, ale istnieje kilka doskonałych twórców formularzy - jeden (wufoo) został niedawno zakupiony za ... 35 milionów dolarów news.ycombinator.com/item?id=2481576
13
14
+1 dla jsoneditoronline.org Oto GIT tego projektu - github.com/wjosdejong/jsoneditoronline
FDisk
3
Link do git jsoneditoronline już nie działa.
argyle
4
@jeromeyers: Masz rację. więc znalazłem działający link do projektu tutaj: https://github.com/josdejong/jsoneditor
Mehul Joisar
3

Ogólnie, gdy chcę utworzyć ciąg JSON lub YAML, zaczynam od zbudowania struktury danych Perla, a następnie wykonania na niej prostej konwersji. Możesz umieścić interfejs użytkownika przed generowaniem struktury danych Perla, np. Formularz internetowy.

Konwersja struktury do JSON jest bardzo prosta:

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);
Eter
źródło
Dzięki, ale nie znam też form perla. Jakieś rekomendacje dla prostego twórcy formularzy? To naprawdę tylko niewielka część projektu, nad którym pracuję, więc nie lubię spędzać zbyt dużo czasu na budowaniu formularza / interfejsu użytkownika zamiast prawdziwej logiki i algorytmu, który piszę :)
David B