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(); } });
Если ваши данные поступают из ненадежного источника, обязательно очистите их —