To JSON.parse obsługiwane przez wszystkie główne przeglądarki? [duplikat]

Możliwy duplikat:
natywne wsparcie dla przeglądarki JSON (window.JSON)

A konkretnie, czy JSON.parse(...) jest obsługiwane przez IE7+, Firefox 2+, Chrome, Safari?

Zobacz: JSON w JavaScript

Author: Community, 2011-02-05

2 answers

Odpowiedź w 2013 roku (i później)

Jest JSON.parse obsługiwane przez wszystkie główne przeglądarki?

W zasadzie tak ( źródło ). Nawet IE8 go ma (pod warunkiem, że nie jesteś w trybie emulacji IE7). Jeśli chcesz obsługiwać IE7 i wcześniejsze, Czytaj dalej.

Oryginalna odpowiedź z 2011 roku

Nie, starsze przeglądarki (na przykład IE7) przeważnie tego nie mają. (Więcej: http://caniuse.com/#search=JSON.parse )

Jednak tylko mały skrypt to wszystko potrzebujesz. Na stronie Githuba można znaleźć nie mniej niż trzy pliki, które można znaleźć na stronie Githuba.]}

  • json2.js: dostarcza zarówno JSON.parse jak i JSON.stringify. Parsowanie używa kilku wyrażeń regularnych do obrony przed atakami script injection, a następnie przekazuje wynik do eval. To nie jest ogólnie uważany za bardzo dobry pomysł.
  • json_parse.js: rekurencyjny Parser, który nie używa eval.
  • json_parse_state.js: parser maszyny stanowej, który nie używa eval.

Użyj tego, co Ci odpowiada. :-)

Prawie każda Główna Biblioteka (jak jQuery, Prototype, YUI, Closure , lub każdy z kilku innych ) zapewni również parsowanie JSON, chociaż w niektórych przypadkach może to być cienka okleina na eval.

 47
Author: T.J. Crowder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 18:02:10

Obawiam się, że nie. Można jednak użyć skryptu json2 napisanego przez Douglasa Crockforda .

Oto co John Resig (twórca jQuery) ma do powiedzenia na ten temat:

JSON2.js-koniec zeszłego roku po cichu wydał nową wersję swojego JSON API, które zastąpiło jego istniejące API. Istotną różnicą było to, że wykorzystywał pojedynczy obiekt bazowy (JSON) zamiast rozszerzać wszystkie natywne obiekty prototypy (booo!).

Http://ejohn.org/blog/the-state-of-json/

Możesz pobrać json2.js tutaj :)

 1
Author: Sarfraz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-26 16:25:04