time

Преобразование строки в JSON-объект

Понадобилось мне передать не вход функции JSON-объект с значениями, которые определяются в скрипте. Например:

var lastTh = $("#table thead th").length - 1;
var options = '{"headers": '+lastTh+'}';

Переменная options и есть нужный JSON-объект, пока еще в виде строки. После небольших изысканий было найдено два метода преобразования:

1)

options = eval ('(' + options + ')');

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

2) С использование дополнительных средств, скачиваем файл json.js подключаем его и дальше нам доступен следующий метод:

options = options.parseJSON();

Метод parseJSON() имеет параметр filter, который является функцией для фильтра или преобразования результата.

Скачаное расширение, также предоставляет метод toJSONString(), который позволяет преобразовывать значение типов: array, boolean, date, number, object, string в JSON строку.

Например:

var user = {
'id': 1,
'login': 'root',
'passw': '123'
}.toJSONString();

и обратно

user = user.parseJSON();

blog comments powered by Disqus