Я смотрел на пример перетаскивания дерева, используя d3 js.
Один из примеров: https://gist.github.com/robschmuecker/7880033
Могу ли я знать, есть ли способ отразить изменение обратно в файл данных JSON после того, как вы это сделаете некоторые перетащить на сайт?