Используйте JSON.stringify()
перед сохранением данных в атрибуте. Это в основном сериализация данных в строку.
var div = document.getElementById("testDiv");
var obj = JSON.stringify({name: "Test1", value: 100});
div.setAttribute("data-obj", obj);
var arrayAsJSON = JSON.stringify([59, 40, 3, 2, 1, 0]);
div.setAttribute("data-arr", arrayAsJSON);
Затем используйте JSON.parse()
после получения значения атрибута и перед его представлением. Это будет десериализовать его обратно в объект javascript, массив или простое значение, в зависимости от вашего случая.