jQuery json_encode - PullRequest
       2

jQuery json_encode

3 голосов
/ 01 июля 2011

Я искал функцию Javascript / jQuery, которая эмулирует PHP json_encode, но все те, которые я нахожу (перечисленные ниже), не работают.

  1. http://code.google.com/p/jquery-json/
  2. http://phpjs.org/functions/json_encode:457

Чтобы проверить, не был ли мой массив не поврежден, я использовал phpjs var_dump с ожидаемыми результатами.

Кто-нибудь может указать мне правильное направление?

1 Ответ

3 голосов
/ 02 июля 2011

Проблема в том, что вы не можете сделать это:

ret[$(this).attr("id")] = _recursiveItems(this);

, потому что var ret = [] объявляет ret как массив , а не как объект, а $(this).attr("id") не является числовым(его значение head_1).Он пытается создать ассоциативный массив, который не поддерживается. .Ассоциативные массивы JavaScript должны быть числовыми и даже считаться вредными .

Если вы измените объявление на var ret = {}, вы можете использовать jquery-json для преобразованияобъект в JSON.Вот демо с использованием кода в вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...