2013-05-24 2 views
0

Унаследован очень старый проект, поддерживающий старые устройства (в настоящее время тестируется на Nokia N81). Основная проблема заключается в том, что мне нужно разобрать json, и он не поддерживается изначально, поэтому я использовал это https://github.com/douglascrockford/JSON-js/blob/master/json2.js. Он отлично работает на ПК, но на nokia не удается. Я не могу получить никаких ошибок, просто ничего не происходит. Если json.parse удален, все работает отлично, включая AJAX. Есть ли решения для старых устройств?Как использовать JSON.parse на старых устройствах?

P.S. Пожалуйста, не предлагайте jquery или другие фреймворки, мне нужно простое решение js.

+0

Самый простой - 'eval()' после того, как вы определили, что он действительно действителен; загляните в исходный код jQuery для '$ .parseJSON()'. –

+0

Btw, почему вы не можете получить какие-либо ошибки? Означает ли это, что * * нет ошибок или даже если бы вы их не видели? –

+0

@Jack там просто нет исходного кода или какой-либо консоли на телефонах Nokia. – Kin

ответ

-1

jQuery.parseJSON реализуется следующим образом:

return (new Function("return " + json))(); 

См jQuery.parseJSON code в 1.9 ветви.

+0

Не используйте eval! – michael

+0

@michael читает вопросы – arnaud576875

+0

@michael Стоит отметить, что [запись MDN для 'JSON'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON#Browser_compatibility) использует' eval 'в его коде. Для 'eval' существует допустимое использование, это может быть один из них. –

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