json.parse не любит подсказки карт - PullRequest
2 голосов
/ 28 марта 2011

Хотелось бы использовать возврат: http://maps.google.de/maps/suggest?q=ham&cp=1&hl=de&gl=de&v=2&json=b в качестве объекта JSON в расширении Firefox. Я попытался разобрать его с помощью JSON.parse, и он не сработал.

Есть ли другой способ вместо использования регулярного выражения использовать его как объект JSON?

var xhr_return = JSON.parse(rtoparse);

возвращает: SyntaxError: JSON.parse

другие файлы json в моем скрипте работают без проблем.

Ответы [ 3 ]

4 голосов
/ 28 марта 2011

Используемый вами URL-адрес не является частью API официальных карт Google и поэтому может быть изменен, заблокирован и т. Д.Вы должны действительно использовать официальный API.При этом, несмотря на то, что URL содержит json, результатом является YAML, а не JSON.Установите для параметра JSON значение a (вместо b), чтобы получить результат JSON.

2 голосов
/ 28 марта 2011

Это не JSON. В отличие от литерала объекта JavaScript, JSON-ключ должен быть заключен в двойные кавычки.

Пример:

Данные по вашей ссылке выглядят так:

{suggestion:[{query:"Hamburg" ...

Но это должно выглядеть так, чтобы быть действительным JSON:

{"suggestion":[{"query":"Hamburg" ...
1 голос
/ 28 марта 2011

Json от url Вы указали неверный код, его можно проверить здесь . Таким образом, из-за недопустимого json, JSON.parse выбросить исключение.

Исправьте формат json и проанализируйте его с помощью JSON.parse.

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