Синтаксис JavaScript Справочник JavaScript JSON Коды клавиш События Строгий режим

Объект JSON

Для работы с форматом JSON в JavaScript есть глобальный объект JSON. У объекта JSON есть два метода: stringify() и parse(). Кроме этих двух методов он не содержит больше никакой дополнительной функциональности.

Метод stringify()

Метод stringify() преобразует значение JavaScript в строку JSON.

Особенности преобразования:

Синтаксис

JSON.stringify(value[, replacer[, space]])

Параметры

value
Значение, которое будет преобразовано в строку JSON.
replacer (необязательный)
Значением параметра может быть функция, массив или null.
  • Массив определяет набор свойств объекта, которые будут включены в JSON-строку. В качестве значений массива указываются строки, соответствующие именам свойств преобразуемого объекта.
  • Функция позволяет заменить значения свойств объекта в JSON-строке. Функция должна содержать два параметра: имя свойства и значение свойства. Имя свойства является строкой. Функция должна возвращать новое значение свойства.
  • Если значением параметра является null, то JSON-строка будет включать все свойства объекта.
space (необязательный)
Делает JSON-строку более удобочитаемой, добавляя отступы для каждого уровня вложенности. Значением параметра может быть строка или число.
  • Число указывает количество пробелов, используемых в качестве отступа для каждого уровня вложенности. Каждый последующий уровень вложенности дополняется новыми отступами. Например, если в качестве значения параметра используется число 2, то на первом уровне вложенности отступ будет составлять два пробела, на последующем уровне вложенности отступ будет составлять 4 пробела и т. д. Максимальное количество пробелов, которое можно указать – 10. Если указать большее число, оно автоматически уменьшится до 10.
  • Строка определяет символ, используемый в качестве отступа для каждого уровня вложенности. Длина строки ограничена 10 символами, если указать строку длиннее, она обрезается до 10 символов. Использование строки также позволяет использовать табуляцию ("\t") в качестве отступа. Каждый последующий уровень вложенности дополняется новыми символами отступа. Например, если в качестве значения параметра указан символ - (дефис), то на первом уровне вложенности в качестве отступа будет использоваться один дефис, на последующем уровне вложенности будет использоваться 2 дефиса и т. д.

Возвращаемое значение

JSON-строка.

Пример

let person = {
  name: "Гомэр",
  age: 40,
  work: {
    place: "Атомная станция",
    location: "Спрингфилд"
  }
}

// Пример с одним параметром
console.log(JSON.stringify(person));   // '{"name":"Гомэр","age":40,"work":{"place":"Атомная станция","location":"Спрингфилд"}}'

// Пример с двумя параметрами (массив)
console.log(JSON.stringify(person, ["name", "age"]));   // '{"name":"Гомэр","age":40}'

// Пример с двумя параметрами (функция)
console.log(JSON.stringify(person, function (key, value) {
  switch (key) {
    case "name":
      return "Барт";
    case "age":
      return 10;
    case "work":
      return undefined;
    default:
      return value;
  }
}));   // '{"name":"Барт","age":10}'

// Пример с тремя параметрами
console.log(JSON.stringify(person, null, 2));   /* {
                                                *    "name": "Гомэр",
                                                *    "age": 40,
                                                *    "work": {
                                                *      "place": "Атомная станция",
                                                *      "location": "Спрингфилд"
                                                *    }
                                                *  } 
                                                */

Метод parse()

Метод parse() преобразует строку JSON в соответствующее значение JavaScript.

Особенности преобразования:

Синтаксис

JSON.parse(text[, reviver])

Параметры

text
JSON-строка, которая будет преобразована в соответствующее значение JavaScript.
reviver (необязательный)
Значением параметра должна быть функция. Функция позволяет заменить значение свойства JSON-строки перед его возвратом. Функция должна содержать два параметра: имя свойства и значение свойства. Имя свойства является строкой. Функция должна возвращать новое значение свойства.

Возвращаемое значение

Соответствующее значение JavaScript (примитивное значение, объект или массив).

Пример

JSON.parse('{}');                // {}
JSON.parse('true');              // true
JSON.parse('[1, 5, "false"]');   // [1, 5, "false"]
JSON.parse('null');              // null
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2018 © puzzleweb.ru

Реклама на сайте | puzinfo@puzzleweb.ru