JSON для строки в Prototype

Люди на этом сайте, кажется, знают все, поэтому я решил спросить это на всякий случай:

Есть ли в прототипе метод/функция, которая преобразует объект JSON в строку, которую можно сохранить в файле cookie?

Если нет, я просто воспользуюсь другой внешней библиотекой.

Спасибо, Андрей


person Community    schedule 06.12.2008    source источник


Ответы (2)


Конечно, есть: Prototype JSON

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

Затем вставьте myString в свой файл cookie.

person Greg    schedule 06.12.2008
comment
что такое Объект? Должен ли я создавать экземпляр этого раньше? Нужна ли мне дополнительная библиотека прототипов?... потому что она не распознается. Андрей - person ; 07.12.2008
comment
Объект является частью javascript - это должно быть что-то еще, что не работает. Либо Prototype не загружен должным образом, либо данные (или то, что вы назвали своим аргументом) не существуют - person Greg; 07.12.2008
comment
хм... хорошо, я поверю вам на слово, прототип должен быть загружен, потому что я использую все $() и scriptaculous и т. д. .... так что я не знаю, что это может быть. все хорошо, JSON.js это.,...спасибо за ответы - person ; 07.12.2008
comment
при дальнейшей проверке, если я помещу код внутри функции, он работает! ... (я просто тестировал его вне какой-либо функции).... :) - person ; 07.12.2008
comment
Хм, это не обязательно должно быть внутри функции, но я предполагаю, что происходит что-то еще (прототип загружается позже или что-то в этом роде)... хотя рад, что это работает. - person Greg; 07.12.2008
comment
да, это, наверное, так, на самом деле... я использую symfony, так что, вероятно, загружает библиотеку прототипов после исходного java. мир снова обретает смысл. Благодарю. - person ; 07.12.2008

Предполагая, что вы говорите о прототипе JavaScript-фреймворка, почему бы просто не использовать собственные функции JSON JavaScript? В конце концов, JSON означает нотацию объектов JavaScript.

person P Arrayah    schedule 06.12.2008
comment
Обычный Javascript может переходить от строки JSON к объекту, но не имеет функции для JSON-кодирования объекта в строку. - person Greg; 07.12.2008
comment
JavaScript не имеет функциональности JSON (ни кодирования, ни безопасного декодирования). В Firefox 3.1 и IE 8 реализован API json2 Дугласа Крокфорда, но для всего остального вам понадобится библиотека. - person orip; 07.12.2008
comment
На json.org доступны четыре библиотеки для функциональности, и из того, что я прочитал и понял, поддержка JSON уже есть в большинстве основных браузеров (за естественным исключением IE7, конечно), я немного смущен этим, для меня это все равно, что спросить, пить ли мне воду, если я хочу пить. - person P Arrayah; 07.12.2008
comment
Javascript изначально принимает json, например. вар фу = {}. Чего он не делает, так это преобразования строки в объект ('{}') или объекта в строку (foo -> '{}') - person Greg; 07.12.2008
comment
Также это небезопасно, так как вы можете сделать var foo = {blah:someFunction()} - конечно, это также может быть очень полезной функцией. - person Greg; 07.12.2008