Учебники

Прототип и учебник JSON

JSON (JavaScript Object Notation) — это легкий формат обмена данными.

  • JSON легко читать и писать людям.

  • JSON легко разбирается и генерируется машинами.

  • JSON основан на подмножестве языка программирования JavaScript.

  • JSON широко используется API-интерфейсами во всем Интернете и является быстрой альтернативой XML в запросах Ajax.

  • JSON — это текстовый формат, полностью независимый от языка.

JSON легко читать и писать людям.

JSON легко разбирается и генерируется машинами.

JSON основан на подмножестве языка программирования JavaScript.

JSON широко используется API-интерфейсами во всем Интернете и является быстрой альтернативой XML в запросах Ajax.

JSON — это текстовый формат, полностью независимый от языка.

Прототип 1.5.1 и более поздняя версия, поддерживает кодировку JSON и поддержку синтаксического анализа.

Кодировка JSON

Prototype предоставляет следующие методы для кодирования —

ПРИМЕЧАНИЕ. — Убедитесь, что у вас есть хотя бы версия 1.6 файла prototype.js.

S.No. Метод и описание
1. Number.toJSON ()

Возвращает строку JSON для данного числа.

2. String.toJSON ()

Возвращает строку JSON для данной строки.

3. Array.toJSON ()

Возвращает строку JSON для данного массива.

4. Hash.toJSON ()

Возвращает строку JSON для данного хэша.

5. Date.toJSON ()

Преобразует дату в строку JSON (в соответствии с форматом ISO, используемым JSON).

6. Object.toJSON ()

Возвращает строку JSON для данного объекта.

Возвращает строку JSON для данного числа.

Возвращает строку JSON для данной строки.

Возвращает строку JSON для данного массива.

Возвращает строку JSON для данного хэша.

Преобразует дату в строку JSON (в соответствии с форматом ISO, используемым JSON).

Возвращает строку JSON для данного объекта.

Если вы не уверены в типе данных, которые нужно кодировать, лучше всего использовать Object.toJSON, так что

var data = {name: 'Violet', occupation: 'character', age: 25 };
Object.toJSON(data);

Это даст следующий результат —

'{"name": "Violet", "occupation": "character", "age": 25}'

Кроме того, если вы используете пользовательские объекты, вы можете установить свой собственный метод toJSON, который будет использоваться Object.toJSON . Например —

var Person = Class.create();
Person.prototype = {
   initialize: function(name, age) {
      this.name = name;
      this.age = age;
   },  
   toJSON: function() {
      return ('My name is ' + this.name + 
         ' and I am ' + this.age + ' years old.').toJSON();
   }
};
var john = new Person('John', 49);
Object.toJSON(john);

Это даст следующий результат —

'"My name is John and I am 49 years old."'

Разбор JSON

В JavaScript синтаксический анализ JSON обычно выполняется путем оценки содержимого строки JSON. Прототип представляет String.evalJSON для решения этой проблемы . Например —

var d='{ "name":"Violet","occupation":"character" }'.evalJSON();
d.name;

Это даст следующий результат —

"Violet"

Использование JSON с Ajax

Использовать JSON с Ajax очень просто. Просто вызовите String.evalJSON для свойства responseText транспорта —

new Ajax.Request('/some_url', {
   method:'get',
   onSuccess: function(transport) {
      var json = transport.responseText.evalJSON();
   }
});

Если ваши данные поступают из ненадежного источника, обязательно очистите их —