Как я могу преобразовать строку в массив в JQuery - PullRequest
0 голосов
/ 22 января 2011

привет, у меня есть мои данные в строке как это

Array
(
    [0] => Array
        (
            [pollId] => 2
            [poll] => new
            [cId] => 7
            [communityId] => 7
            [ansId] => Array
                (
                    [0] => 6
                    [1] => 7
                )

            [answer] => Array
                (
                    [0] => new1
                    [1] => new2
                )

            [vote] => Array
                (
                    [0] => 37
                    [1] => 36
                )

            [count] => 2
        )

)

Я хочу преобразовать его в массив.

1 Ответ

2 голосов
/ 22 января 2011

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

Это не миллион миль от JSON, и поэтому вы можете получить представление о своей реализации (если вам нужно написать одну) из двух не eval реализаций анализаторов JSON, найденных на Страница Грокуба Крокфорда . Есть json_parse.js, который является анализатором рекурсивного спуска; и json_parse_state.js, который является конечным автоматом. В обоих случаях они анализируют JSON, а не ваш примерный формат, но я хочу сказать, что, поскольку ваш примерный формат не находится за миллион миль от JSON, вы, вероятно, можете использовать их в качестве отправной точки.

Обновление : (Я добавил комментарий по этому поводу, но лучше в качестве ответа.) Я вижу из потока комментариев по вашему вопросу, что вы не ' Я должен использовать этот формат, но вместо этого можно использовать JSON. В этом случае вы в хорошей форме & mdash; В jQuery встроен синтаксический анализ JSON в функции parseJSON . Это будет принимать строку, содержащую данные в кодировке JSON и возвращать граф объектов JavaScript (который может быть или не быть массивом, в зависимости от того, что определяет JSON). Если вы извлекаете JSON через Ajax, jQuery даже автоматически проанализирует его для вас и выдаст полученный объектный граф в качестве аргумента вашей функции success, см. $.ajax и $.getJSON . Вот живой пример Я сделал для другого вопроса чуть ранее сегодня. Это загружает JSON, найденный по URL, который вы увидите в коде, jQuery автоматически анализирует его и получает доступ к одному из свойств результирующего графа объектов JavaScript.

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