Редактор JSON на основе графического или веб-интерфейса, который работает как проводник свойств [закрыто]

217

Предыстория: Это запрос на что-то, что еще может не существовать, но я давно собирался его создать. Сначала я спрошу, видел ли кто-нибудь подобное.

Предположим, у вас есть произвольная структура JSON, подобная следующей:

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

Вопрос: существует ли веб-редактор JSON, который может принимать такую ​​структуру и автоматически позволять пользователю изменять ее в удобном графическом интерфейсе?

Пример: представьте себе автоматически сгенерированную HTML-форму, которая отображает 2 текстовых элемента управления input-type для заголовка и lastmod, а также таблицу текстовых элементов управления input-type с тремя столбцами и тремя строками для arr_list ... с возможностью удаления или добавьте дополнительные строки, нажав [+] [X] рядом с каждой строкой в ​​таблице.

Большая идея: «большая идея» заключается в том, что пользователь сможет указать любую произвольную (нерекурсивную) структуру JSON, а затем также сможет редактировать структуру с помощью взаимодействия на основе GUI (это будет похоже на «Вид сетки XML Editor» в XML Spy).

Смотрите также:

Обновление: (чт 2014-07-31 18:31:11)

Github-репозиторий был создан для дальнейшего отслеживания этого закрытого SO-сообщения.

dreftymac
источник
Есть ли у вас прогресс в создании собственного редактора? я искал то же самое. То, что я нашел в сети, - почти то же самое, что вы перечислили в своем ответе.
Синан
Нет. Это кажется достаточно хорошей идеей с недостаточным импульсом.
dreftymac
если я получу достаточный импульс для этого, я бы с удовольствием написал для этого свое первое приложение с какао, если вы не будете просить об авторских правах;)
Синан
1
Я слишком мал, чтобы обойти любую из моих идей, и все равно это было сделано раньше :) ... взгляните на редактор вида сетки XMLSPY, если вы решили заняться этим и вам нужно дополнительное вдохновение: altova .com / xmlspy / xml-grid-view.html
dreftymac
Я думал об этом и нашел ваш вопрос при проверке, есть ли спрос на него. при проверке, чтобы увидеть, есть ли спрос на сборку прототипа
13рен

Ответы:

334

Обновление: в попытке ответить на мой собственный вопрос, вот что я смог раскрыть до сих пор. Если у кого-то еще есть что-то, мне все равно будет интересно узнать больше.

На основе схемы JSON

Коммерческий (не одобрение, предназначенное или подразумеваемое, может или не может удовлетворить требование)

JQuery

YAML

Смотрите также

dreftymac
источник
1
Form Builder с Freja выглядит потрясающе! Хотя это (почти) совершенно не связано с вопросом ...: P
cregox
1
@Cawas Это выглядит потрясающе. Это удивительно, но есть несколько отличных разработчиков форм - один (wufoo) недавно был приобретен за ... 35 миллионов долларов news.ycombinator.com/item?id=2481576
ое
14
+1 для jsoneditoronline.org Вот GIT этого проекта - github.com/wjosdejong/jsoneditoronline
FDisk
3
jsoneditoronline git link больше не работает.
Аргайл
4
@jeromeyers: Вы правы. Поэтому я нашел ссылку на действующий проект здесь: https://github.com/josdejong/jsoneditor
Мехул Джойсар,
3

Обычно, когда я хочу создать строку JSON или YAML, я начинаю с создания структуры данных Perl, а затем выполняю простое преобразование для нее. Вы можете поместить пользовательский интерфейс перед генерацией структуры данных Perl, например, веб-формой.

Преобразовать структуру в JSON очень просто:

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);
простой эфир
источник
Спасибо, но я также незнаком с формами Perl. Любые рекомендации для простого производителя форм? Это действительно очень небольшая часть проекта, над которым я работаю, поэтому я не люблю тратить слишком много времени на создание формы / интерфейса вместо реальной логики и алгоритма, который я пишу :)
Дэвид Б.