Это будет небольшой ответ, но вы действительно должны использовать источник данных, который наилучшим образом соответствует вашему проекту. jsTree может обрабатывать все три, но по той или иной причине вам может быть полезно выбрать один из них.
В моем собственном использовании jsTree я нашел, что проще всего использовать JSON, потому что он очень прост в создании и создании на стороне сервера (где я использую ASP.NET MVC). Для этого требуется совсем немного работы, и я могу охватить построение дерева в одном классе.
У меня нет других конкретных предложений, кроме jsTree (в зависимости от используемой вами технологии). Я бы сказал, принять решение и попробовать. Если вы используете систему контроля версий, вы всегда можете откатиться, если у вас ничего не получится. Тем не менее, похоже, что вам лучше всего начать использовать jsTree и посмотреть, соответствует ли он вашим потребностям. Это не очень «тяжелая» библиотека, поэтому довольно легко начать работать с ней и посмотреть, как вам это понравится.
Один совет, однако, заключается в том, чтобы сохранить доступную вам и документацию, и форумы, поскольку есть некоторые функции, которые не полностью обновлены в официальной документации, но об этом говорится в форумах. (Таким образом, я столкнулся с одной конкретной проблемой, которая была решена путем поиска в форумах.)