2009-11-24 5 views
20

빠른 질문에 대해 알고있는 사람을위한 케이크 조각 인 것 같습니다. IE6의 JSON 객체 - 어떻게?

나는 IE6에서 나는 JSON이 정의되어 있지 않다고에 오류로 실행, 물건 (그리고 JSON.stringify)의 무리에 대한 JSON을 사용하는 간단한 asp.net 웹 사이트 등 파이어 폭스의 모든 좋은

가 아직.

이미 다른 브라우저의 기본 JSON 객체를 사용하여 JSON 구현을 포함 할 수있는 방법이 있습니까? 그렇다면 어떻게?

감사합니다.

+0

무엇을 사용하고 계십니까? http://json.org/json2.js? –

+0

아니면 라이브러리를 사용하지 않고'JSON.stringify'가 존재할 것으로 기대하십니까? –

+0

은 브라우저에서 기본 JSON 지원에 의존하고있는 것처럼 보이지만 Firefox가 아닌 IE에서 작동하는 경우 - https://developer.mozilla.org/en/Using_JSON_in_Firefox –

답변

33

https://github.com/douglascrockford/JSON-js에 json2 라이브러리가 정확히 무엇을 찾고 있습니다. 그것을 무조건 포함 할 수 있으며 JSON.parse 및 JSON.stringify를 전역 네임 스페이스에 추가합니다 (아직 정의되지 않은 경우에만). 내장 된 JSON을 사용하지 않아도됩니다. 출처 :

if (!this.JSON) { 
    this.JSON = {}; 
} 
... 
if (typeof JSON.stringify !== 'function') { 
... 
if (typeof JSON.parse !== 'function') { 

어떤 이유로 든 JSON.stringify가 있지만 JSON.parse가 아닌 경우 (또는 그 반대로) 원래 위치를 그대로 유지하면서 올바른 작업을 수행합니다.

+6

링크가 atm을 던지고 있습니다. 백업은 https://github.com/douglascrockford/JSON-js입니다. – Jafin

4

귀하의 firefox 버전에 JSON 라이브러리가 내장되어있을 수 있습니다. 그러나 이상적으로 json.org의 JSON js 라이브러리를 포함시켜야합니다 (호스트 된 도메인에 해당 복사본을 만들어야합니다).

+0

네, 최근 버전의 json 라이브러리는 네이티브 json이 있는지를 감지합니다. – Nosredna

0

단순히 JSON.stringify을 확인하고없는 경우 다른 방법을 사용하여 데이터를 JSON 문자열로 구문 분석하십시오.

1

JSON-js는 Douglas Crockford의 Github에서 사용 가능하도록 만들어 졌으므로 JSOn 객체는 기본적으로 JSOn 객체를 사용하는 ur 페이지에 단일 js 파일을 포함하는 JSOn 객체를 지원하지 않는 브라우저에서 사용할 수 있습니다.

https://github.com/douglascrockford/JSON-js이 또한 나 또한이 문제를 충족이 링크 http://json.org/js.html

2

을 확인, 당신은 JSON을 사용하기 전에 json2.js로드 할 수 있습니다. 이 link을 참조하십시오.