2009-11-24 5 views
20

Các câu hỏi nhanh có thể là một miếng bánh cho ai đó biết đến.Đối tượng JSON trong IE6 - Làm thế nào?

Tôi có một trang web asp.net đơn giản có sử dụng JSON cho một bunch of stuff (và JSON.stringify)

Tất cả tốt trong firefox vv, tuy nhiên, trong IE6 tôi chạy vào một lỗi với JSON là không xác định.

Có cách nào tôi có thể bao gồm triển khai JSON mà không phá vỡ những gì tôi đã có (sử dụng các đối tượng JSON gốc trong các trình duyệt khác) không. Nếu có, làm thế nào?

Cảm ơn!

+0

Bạn đang sử dụng cái gì? http://json.org/json2.js? –

+0

Hoặc bạn không sử dụng bất kỳ thư viện nào và mong muốn 'JSON.stringify' tồn tại? –

+0

có vẻ như anh ấy có thể dựa vào hỗ trợ JSON gốc trong trình duyệt, nếu nó hoạt động trong Firefox và không có trong IE - https://developer.mozilla.org/en/Using_JSON_in_Firefox –

Trả lời

33

Thư viện json2 tại https://github.com/douglascrockford/JSON-js chính xác là những gì bạn đang tìm kiếm. Bạn có thể bao gồm nó một cách vô điều kiện và nó thêm JSON.parse và JSON.stringify vào không gian tên chung của bạn (chỉ khi chưa có một định nghĩa nào đó). Nó sẽ không gây rối với bất kỳ JSON tích hợp nào. Từ nguồn của nó:

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

Đó là toàn diện! Thậm chí nếu vì một lý do nào đó bạn đã có JSON.stringify nhưng không phải JSON.parse (hoặc ngược lại) nó vẫn sẽ làm điều đúng, để nguyên bản gốc.

+6

liên kết là ném lỗi atm. Đây là https://github.com/douglascrockford/JSON-js sao lưu – Jafin

4

Phiên bản firefox của bạn có thể có hỗ trợ tích hợp cho thư viện JSON. Nhưng lý tưởng bạn nên bao gồm thư viện JSON js từ json.org (tạo một bản sao của nó trong tên miền được lưu trữ của bạn).

+0

Có và tôi nghĩ rằng các phiên bản gần đây của thư viện json phát hiện nếu có một json bản địa để sử dụng. – Nosredna

0

Chỉ cần kiểm tra JSON.stringify và nếu nó không tồn tại, hãy sử dụng một số phương pháp khác để phân tích dữ liệu thành chuỗi JSON.

1

Sử dụng JSON-js sẵn có trên Github bởi Douglas Crockford nó làm cho đối tượng JSOn có sẵn trong các trình duyệt không hỗ trợ đối tượng JSOn nguyên bản chỉ bao gồm một tệp js trong trang ur sử dụng đối tượng JSOn. https://github.com/douglascrockford/JSON-js

Cũng Kiểm tra liên kết này http://json.org/js.html

2

Tôi cũng đã gặp vấn đề này, bạn có thể tải json2.js trước khi sử dụng JSON. tham khảo link này.