JSON Object or not Object. Почему?
Скорее всего jQuery делает это методом отлова исключения в JSON.parse. 01 - это не валидная цифра и она сломает JSON.parse, а значит, отловив исключение, jQuery будет считать что это не JSON и вернёт просто строку.
Это какие-то эротические фантазии jQuery, очевидно. dataset.all возвращает строку. А JSON.parse('{"id": 01, "name": "name1"}') кидает эксепшен.