На первый взгляд я не могу сказать, что вижу что-то явно не так с подходом. Единственный аспект, который первоначально застал меня врасплох, была необходимость конвертировать данные в объекте модели в json.
Для меня JSON обычно подразумевает, что существует какой-то объект на стороне сервера, который необходимо преобразовать, чтобы javascript на стороне клиента мог обращаться к его структуре или манипулировать ею с помощью JavaScript. Я думаю, не зная больше цели списка опций, я не вижу причины, по которой здесь требуется сериализация json.
Используя тег для преобразования объекта модели в JSON, мы избегаем
дополнительный запрос клиента
Но если мы предположим, что JSON является требованием (возможно, для какого-либо стороннего плагина jquery), то я абсолютно не вижу ничего плохого в подходе.
Что особенного или отличительного в неупорядоченном списке barOptions, почему он отображается с помощью json? Почему бы просто не использовать цикл for для создания элементов списка? Или вы можете иметь собственный тег, который полностью создает ul.
Кроме того, я упустил момент, как можно воспринимать это как плохой код.