Как работает сериализация?

133
13 марта 2021, 07:00
  1. Метод toJson не указываем получим сериализацию (преобразование строке в JSON) свойство - значение, функции будут проигнорированы:

var room = { 
  number: 23, 
  occupy: function() { 
    alert( this.number ); 
  } 
}; 
 
var event = { 
  title: "Конференция", 
  date: new Date(Date.UTC(2014, 0, 1)), 
  room: room 
}; 
 
 
console.log(JSON.stringify(event))

  1. Если указать toJSON будут сериализованы функции, свойства проигнорированы:

var room = { 
  number: 23, 
  toJSON: function() { 
    console.log( this.number ); 
  } 
}; 
 
var event = { 
  title: "Конференция", 
  date: new Date(Date.UTC(2014, 0, 1)), 
  room: room 
}; 
 
 
console.log(JSON.stringify(event))

  1. Как сериализовать свойства и функции? Я что-то не понял?
Answer 1

В JSON - нет типа функций, поэтому функции не сериализуются никак.

Если у сериализуемого объекта присутствует метод toJSON, то вместо дальнейшей сериализации этого объекта будет использовано значение, которое вернет данная функция.

READ ALSO
fontawesome в Заголовке браузера

fontawesome в Заголовке браузера

Поставил на сайт шрифт fontawesome поставил иконки в названиях категорий но возник вопрос: в браузерной строке он не отображается как надо - вместо...

122
Удаление структуры

Удаление структуры

Имеется структура

122
Как получить базовый адрес процесса?

Как получить базовый адрес процесса?

Как можно получить базовый адрес процесса ?Никаких работающих примеров так и не нашелВот мой код

97