Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача строки в функцию (https://javascript.ru/forum/misc/19306-peredacha-stroki-v-funkciyu.html)

antserg 01.08.2011 14:23

Цитата:

Сообщение от B@rmaley.e><e
Мда, слов много, а до сути никто не дошёл. Главный вопрос: зачем здесь eval?

А как можно еще из json получить обычный массив в javascript?

ваый 01.08.2011 14:27

JSON.parse(jsonString)
для браузеров без нативной поддержки подключать json2.js (https://github.com/douglascrockford/...aster/json2.js)

если уверены, что json строка валидная, не содержит всяких плохих вставок, и прочей каки, и не приходит от пользовательского ввода, то можно использовать eval, хотя и не желательно. Что-то типа такого:
var jsonObj = (function() { return eval('(' + jsonString + ')'); })();
// или
var jsonObj = eval("(function(){return " + strJSON + ";})()");

antserg 01.08.2011 14:39

Цитата:

Сообщение от ваый
если уверены, что json строка валидная, не содержит всяких плохих вставок, и прочей каки, и не приходит от пользовательского ввода, то можно использовать eval, хотя и не желательно.

Строки безопасны, так как берутся из базы, которую я и делаю. Пользователи ее не могут менять.
Спасибо за помощь, буду разбираться.

B@rmaley.e><e 01.08.2011 14:44

Цитата:

Сообщение от antserg
А как можно еще из json получить обычный массив в javascript?

JSON - это, если кто-то вдруг не знает, JavaScript Object Notation и он тем примечателен, что корректный JSON - синтаксически и семантически корректная запись объекта в JS.
Цитата:

Сообщение от ваый
JSON.parse(jsonString)

Только в нашем случае никаких JSON-строк нет.


Часовой пояс GMT +3, время: 22:39.