/* Сериализация объектов - преобразование объектов в строки.
Это нужно для удобства хранения и передачи информации.
Если вам нужно получать данные с сервера при работе приложения, вы можете использовать JSON,
XML или можете хранить данные в JSON локально, используя localStorage.
JSON - JavaScript Object Notation и по синтаксису представляет небольшое подмножество JS.
В JSON можно хранить: объекты, массивы, строки, числа, true, false, null.
Любые другие значения при серилизации преобразуются в null.
*/
var user = {
name: "Frank",
id: 42345,
lastVisit: Date.now(),
friends: [2452, 62523, 8969],
toJSON: function() {
return {
name: this.name,
lastVisit: this.lastVisit
}
}
};
var userData = JSON.stringify(user); // JSON.stringify преобразует объект в строку
console.log(userData); // {"name":"Frank","id":42345,"lastVisit":1496876579747,"friends":[2452,62523,8969]}
// Если есть метод toJSON: {"name":"Frank","lastVisit":1496876810083}
/*
Когда JSON.stringify преобразует объект в строку, то проверяет в первую очередь наличие метода toJSON.
Если он присутствует, то в строку будет преобразовано то, что возвращает метод toJSON.
*/
console.log(JSON.parse(userData)); // JSON.parse преобразует строку в объект
// Object { name: "Frank", id: 42345, lastVisit: 1496876579747, friends: Array[3] }
// Если есть метод toJSON: Object { name: "Frank", lastVisit: 1496876810083 }
// JSON.parse нет в IE ниже 8 версии.
Комментариев нет:
Отправить комментарий