В JavaScript есть инструменты для работы с данными в формате JSON. Этот формат удобен для хранения и передачи данных на сервер. JSON - это всего лишь способ хранения данных, которая является простой строкой. Но внутри этой строки записаны данные и значения, которые похожи по своей структуре на "объект". Если Вы уже работали с PHP, то аналогией для JSON может быть функция
seriallize( ).
Создание JSON в JavaScript (stringify)
Метод JSON.stringify позволяет преобразовать объект JavaScipt в формат JSON. Давайте попробуем сделать такое преобразование, используя все типы переменных для демонстрации:
var a = {
'BOOL': true,
'INT': 20,
'ARRAY': [1, 2, 3],
'STRING': 'Тише, мыши, кот на крыше'
};
var b = JSON.stringify(a);
console.log(b);
В результате выполнения этого примера в консоли появится строчка:
{"BOOL":true,"INT":20,"ARRAY":[1,2,3],"STRING":"Тише, мыши, кот на крыше"}
В этой строчке можно увидеть все данные, которые были внутри объекта, который был преобразован в примере в JSON формат. Теперь эти данные можно отправить на сервер. Это может быть сервер с сайтом, написанным на языке программирования PHP, потому что у PHP есть встроенная функция для работы с форматом JSON. Там полученную строку можно будет преобразовать обратно в объект и обращаться к ним, как к элементам объекта.
Чтение JSON в JavaScript (parse)
Если необходимо обработать (прочитать) данные в формате JSON, то нужно взять строку (то есть данные, закодированные в JSON формате) и применить метод JSON.parse. Как только данные расшифруются, то можно будет обращаться к ним как к элементам объекта. Попробуем метод на практике, возъмём полученную в предыдущем примере JSON строку:
var a = '{"BOOL":true,"INT":20,"ARRAY":[1,2,3],"STRING":"Тише, мыши, кот на крыше"}';
var b = JSON.parse(a);
console.log(b['STRING']);
console.log(b['ARRAY'][0]);
console.log(b['BOOL']);
При выполнении такого кода будут преобразованы данные из строки в формате JSON в объект, и к ним можно будет обратиться напрямую. Поэтому в консоли появятся строчки:
Тише, мыши, кот на крыше
1
true