Локальное хранилище может хранить только строки (любые данные, которые у вас могут быть, должны быть преобразованы в строку при сохранении в хранилище и "восстановлены" при чтении из нее).
Данные JSONЭто более чем удобно для хранения в виде строки, поэтому это хороший выбор формата для хранения сложных данных в хранилище браузера (локальное хранилище или хранилище сеансов).
Подробнее о хранилище можно узнать здесь: http://diveintohtml5.info/storage.html
Что касается , где данные хранятся, я думаю, что они варьируются от браузера к браузеру, но вам не нужно беспокоиться о , где - это данные, так каку вас нет прямого доступа к нему (только через API хранилища).
Редактировать: Быстрое примечание - я нашел эту статью о том, что , где - это данные хранилища, хранящиеся в Firefox - https://developer.mozilla.org/en/DOM/Storage (см. Раздел «Место хранения и очистка данных» внизу страницы).