Я строю динамическую форму для редактирования данных в объекте json. Во-первых, если что-то подобное существует, дайте мне знать. Я бы предпочел не создавать его, но я много раз искал инструмент и нашел только древовидные структуры, которые требуют ввода кавычек. Я был бы счастлив рассматривать все значения как строки. Эта функция редактирования предназначена для конечных пользователей, поэтому она должна быть легкой, а не пугающей.
Пока у меня есть код, который генерирует вложенные таблицы для представления объекта json. Для каждого значения я отображаю поле формы. Я хотел бы привязать поле формы к соответствующему вложенному значению json. Если бы я мог сохранить ссылку на значение json, я бы создал массив ссылок на каждое значение в дереве объектов json. Я не нашел способ сделать это с помощью JavaScript.
Моим последним средством будет обход таблицы после внесения изменений. Я бы предпочел динамические обновления, но одна отправка была бы лучше, чем ничего.
Есть идеи?
// the json in files nests only a few levels. Here is the format of a simple case,
{
"researcherid_id":{
"id_key":"researcherid_id",
"description":"Use to retrieve bibliometric data",
"url_template" :[
{
"name": "Author Detail",
"url": "http://www.researcherid.com/rid/${key}"
}
]
}
}
$.get('file.json',make_json_form);
function make_json_form(response) {
dataset = $.secureEvalJSON(response);
// iterate through the object and generate form field for string values.
}
// Then after the form is edited I want to display the raw updated json (then I want to save it but that is for another thread)
// now I iterate through the form and construct the json object
// I would rather have the dataset object var updated on focus out after each edit.
function show_json(form_id){
var r = {};
var el = document.getElementById(form_id);
table_to_json(r,el,null);
$('body').html(formattedJSON(r));
}