Bagikan melalui


JavaScript Object Notation (JSON)

JavaScript Object Notation (JSON) adalah format pertukaran data sederhana dan ringan yang didasarkan pada subset notasi literal objek bahasa JavaScript. Mesin JavaScript di Windows Internet Explorer 8 mengimplementasikan proposal ECMAScript 3.1 JSON untuk fungsi penanganan JSON asli (yang menggunakan API json2.js Douglas Crockford).

Internet Explorer 8 menyertakan objek JSON asli yang mematuhi dukungan JSON yang dijelaskan dalam Draf Kerja Proposal ES3.1. Beberapa halaman web mendeteksi objek JSON asli, lalu menggunakannya dengan cara yang tidak standar. Penggunaan ini biasanya menyebabkan kesalahan skrip dan memutus penanganan permintaan AJAX. Contoh kode berikut menunjukkan cara yang salah untuk menggunakan objek JSON.

    if(!window.JSON) JSON = myJSON; 
    JSON.encode(obj); // Not part of the standard

Sebagai gantinya, contoh kode berikut menunjukkan cara yang baik untuk menggunakan objek JSON.

    JSON = myJSON; 
    JSON.encode(obj);

Windows Internet Explorer mencakup dukungan asli untuk JSON dengan memperkenalkan objek JSON global yang memiliki dua metode bawaan: merangkai dan penguraian . Objek JSON global didefinisikan dalam mesin JavaScript dan dibuat selama fase inisialisasi mesin. Untuk mempertahankan kompatibilitas mundur, fitur ini hanya tersedia ketika situs web menggunakan versi terbaru fitur JavaScript dengan menggunakan mode tata letak (dokumen) "Standar Internet Explorer 8". Fitur ini juga dapat memengaruhi perilaku halaman web yang bergantung pada variabel global JSON atau menggunakan json2.js.

Anda dapat mengambil alih objek JSON global. Tetapi ketika halaman web menggunakan mode tata letak (dokumen) "Standar Internet Explorer 8", itu bukan objek yang tidak terdefinisi lagi. Karena JSON dibuat sebagai nama global oleh mesin JavaScript, memeriksa seperti "if(!this. JSON)" mengevaluasi ke False dan harus diubah dalam kode pengguna.

Halaman web yang menggunakan json2.js kemungkinan tidak terpengaruh. Dengan beberapa pengecualian, halaman ini harus bekerja lebih cepat. Pengecualiannya adalah karena perbedaan antara implementasi JSON asli Internet Explorer dan json2.js. Misalnya, selama serialisasi, implementasi JSON asli mendeteksi siklus dan tidak masuk dalam rekursi tak terbatas seperti json.js. Untuk informasi selengkapnya tentang pengecualian ini, lihat Blog JavaScript.

Untuk informasi selengkapnya, lihat Dokumentasi JSON dan Penerapan Versi dan Dukungan Versi Mesin JavaScript.

Memperbaiki Masalah Kompatibilitas di Aplikasi Web dengan Menggunakan Tampilan Kompatibilitas