Если у вас действительно есть строка , содержащая текст в кавычках, вам придется либо найти, либо написать синтаксический анализатор для него.
Это не миллион миль от 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.