2015-08-04 2 views
0

Можно ли вызвать внутреннюю функцию в jQuery, которая делает JSON.parse?Как `JSON.parse` с jQuery? (для поддержки старых браузеров?)

Я хочу поддерживать IE8 и IE9, но у них нет JSON.parse, поэтому я не могу просто назвать это в своем коде. Я должен использовать внешнюю библиотеку для JSON, но я уже использую jQuery.

Мое приложение получает данные от вызова AJAX, но это не совсем JSON. Затем я изменяю данные, чтобы превратить их в строку JSON, а затем мне нужно ее проанализировать.

ответ

2

JSON.parse не является «внутренней функцией в jQuery». Это просто старый JavaScript.

По MDN:

enter image description here

Как вы можете видеть, метод JSON#parse реализован в IE8 и выше.

Мое приложение получает данные от вызова AJAX, но это не совсем JSON.

Это либо оно, либо оно не является JSON. Если он равен, тогда его необходимо отформатировать правильно или он не будет транспортироваться, если ваш вызов AJAX указывает JSON как ожидаемый content-type. Если это не JSON, вам нужно указать правильный content-type, который ожидается в ответе, и проанализируйте его таким образом. Нет «почти» JSON. Если в форматировании есть самая маленькая ошибка, вы никогда не получите данные.

+0

Спасибо, что работает! Мое приложение получает строку, обернутую в теги HTML, что является почти данными JSON. Затем я убираю HTML-код, и мне остается строка, которая действительна JSON. Я называю 'JSON.parse', и теперь это действительный объект js. Это не имеет никакого отношения к типу контента в моем случае. – bodacydo

+0

Почти JSON - я имею в виду вещь как '{" list ":" [1,2,3] "}' - это почти JSON. Если я полосу и, я остаюсь с [1,2,3], который является JSON – bodacydo

+1

Спасибо! Работает. :) – bodacydo

Смежные вопросы