среда, 7 июня 2017 г.

Sorax. 23. JSON


/* Сериализация объектов - преобразование объектов в строки.
Это нужно для удобства хранения и передачи информации. 
Если вам нужно получать данные с сервера при работе приложения, вы можете использовать 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 версии.

Комментариев нет:

Отправить комментарий