Второй параметр может быть функцией для выполнения замены при подстановке.
Начиная с Firefox 3.5.4, JSON.stringify() предоставляет дополнительные возможности настройки за счет использования дополнительных параметров. Синтаксис является:
jsonString = JSON.stringify (значение [, Заменитель [пространство]])
значение объекта JavaScript, чтобы преобразовать в строку JSON.
Заменитель Функция, которая изменяет поведение процесса stringification или массив объектов Струнные и номер, которые служат в качестве белого списка для выбора свойств объекта значения, которые будут включены в строку JSON . Если это значение равно null или не указано, все свойства объекта включены в результирующую строку JSON.
space Объект String или Number, который используется для вставки пробела в выходной файл Строка JSON для удобства чтения. Если это номер, то указывает количество пробелов, которое должно использоваться как пробел; это число ограничено 10, если оно больше. Значения менее 1 указывают, что пространство не должно использоваться. Если это String, строка (или первые 10 символов строки, если она длиннее этого) используется как пробел. Если этот параметр не указан (или null), пробел не используется. Параметр replacer
Параметр replacer может быть либо функцией, либо массивом. Как функция , он принимает два параметра, ключ и значение . Объект, в котором был найден ключ, указан в качестве параметра этого параметра.Изначально он вызывается с пустой клавишей , представляющей объект, который стробируется, и затем он вызывается для для каждого свойства объекта или массива, стробированного. Он должен вернуть значение, которое должно быть добавлено в строку JSON следующим образом:
Если вы возвращаете номер, строка, соответствующая этот номер используется в качестве значения для свойства при добавлении в строку JSON. Если вы возвращаете строку, эта строка используется как значение свойства, когда добавляет ее в строку JSON. Если вы возвращаете логическое значение, «true» или «false» используется как значение свойства, при необходимости, при добавлении к строке JSON. Если вы возвращаете какой-либо другой объект, объект будет , рекурсивно стягированный в строку JSON, вызывая функцию-заменитель для каждого свойства, если только объект не является функцией, в которой случай ничего не добавляется в строку JSON. Если вы возвращаете undefined, свойство не входит в строку вывода JSON. Примечание. Вы не можете использовать функцию замены, чтобы удалить значения из массива. Если вы не указали , то вместо него используется значение null.
Пример