Format pertukaran data ringan json
Dibandingkan dengan XML, JSON parse lebih cepat dan memiliki dokumen yang lebih kecil.
Format JSON
{Name Atribut: Nilai Atribut, Nama Atribut: Nilai Atribut, ...}
Jenis nama atribut dapat berupa string, angka, boolean, null, objek, dan nama atribut harus dilampirkan dalam kutipan ganda. Jika nilai atribut adalah string, itu juga harus dilampirkan dalam kutipan ganda.
JSON mewakili array
Format: [Nilai, Nilai, Nilai], di mana nilai dapat berupa tipe data dasar, atau tipe objek atau tipe array
Tipe array [{"name": "yangjq", "usia": 22}, {"name": "andreny", "age": 21}];Jenis Objek ["Nama": "Andreny", "Hobby": ["Sing", "Dance", "Eat"]]
Mengubah
Grafik LRJSON String -> Objek JavaScript
1. Gunakan fungsi asli JavaScript: eval (), tetapi metode ini berbahaya dan Anda harus berhati -hati saat menggunakannya.
var str = {"name": "yangjq", "usia": 23}; var obj = eval ("("+str+")"); waspada (obj.name);2. Gunakan metode parse () yang disediakan oleh objek asli JSON. Jika objek ini tidak valid, itu berarti versi browser Anda terlalu rendah! Lai Lai
var str = {"name": "andreny", "usia": 22}; var obj = json.parse (str); alert (obj.name);3. Metode untuk menambahkan string menggunakan file json.js.
var str = {"name": "cute erha", "usia": 9}; var obj = str.parsejson (); peringatan (obj.name);Konversi objek JSON ke string JSON
Grafik LRJSON Object -> JSON String
Menggunakan API yang disediakan oleh JSON: JSONObject, metode yang disediakan oleh JSONArray
// Metode pertama emp emp = emp baru ("1", "andreny", "man"); jsonobject obj = jsonobject.fromObject (emp); string jsonstr = obj.tostring (); // metode kedua var/name = "yangjq", "": 23}; var str1 = "name": "yangjq", "": 23}; var str1 = {"name": "YangJQ", "": 23}; str2 = obj.json.stringify ();Caching isu yang terlibat dalam AJAX saat mengirim permintaan
== note ==: Saat mengirim permintaan, objek AJAX yang disediakan oleh IE browser terlebih dahulu akan memeriksa apakah telah mengakses alamat. Jika telah mengaksesnya, browser tidak akan lagi mengirim permintaan.
Mekanisme untuk berbagai browser untuk mengobati cache
Chrome terus mengirim permintaan
Firefox terus mengirim permintaan
IE Browser tidak lagi mengirim permintaan
Bagaimana cara mencegah browser mengirim permintaan karena cache?
Tambahkan nomor acak setelah alamat permintaan
xhr.open ('get', 'getNumber.do?+math.random(),true);Kirim Permintaan Posting
Beberapa pertanyaan tentang sinkronisasi
Setelah mengirim permintaan sinkronisasi, browser harus menunggu tanggapan server tiba sebelum terus beroperasi di halaman. Ketika AJAX mengirimkan permintaan sinkronisasi, browser akan mengunci halaman saat ini.
Kode uji
Paket Yangjq.test; Impor java.util.arraylist; import java.util.list; import net.sf.json.jsonarray; import net.sf.json.jsonobject; import yangjq.entity.friend; kelas publik jsontest {public static void main (string [] args) {System.out.println ("-------------------------"); test1 (); test2 (); test3 (); test4 ();} // Konversi objek java ke json string public static void test1 () {friend f = new friend (); f.setname ("andreny"); f.setage (23); obj = jsonObject.fromObject (f); System.out.println (obj.tostring ());} // Konversi koleksi JSON ke JSON string public static void test2 () {list <friend> fs = new ArrayList <friend> (); untuk (int i = 0; i <10; i ++) {friend f = new friend (); f.setname ("yangjq"+i); f.setage (12+i); fs.add (f);} jsonarray ja = jsonarray.fromObject (fs); System.out.println ("------------/n"+fs); System.out.println (ja.toString ());} // string JSON dikonversi ke java objek static static void test3 () {string) jsonstr = "{/" name/":/" andreny/",/" use/": 22}"; jsonObject obj = jsonobject.fromObject (jsonstr); teman teman = (teman) JSONObject.toBean(obj,Friend.class);System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "{/" name/":/" andreny/",/" use/": 23}]"; jsonarray obj = jsonarray.fromObject (jsonstr); daftar <friend> friends = (daftar <friend>) JSONArray.toCollection(obj,Friend.class);System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Hasil Menjalankan:
---------------{"age":23,"name":"andreny"}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [name = yangjq8, usia = 20], teman [name = yangjq9, usia = 21]] [{"usia": 12, "name": "yangjq0"}, {"usia": 13, "name": "yangjq1"}, {"usia": 14, "name": "Yang jq2 "}, {" usia ": 15," name ":" yangjq3 "}, {" usia ": 16," name ":" yangjq4 "}, {" usia ": 17," name ":" yangjq5 " }, {"usia": 18, "name": "yangjq6"}, {"usia": 19, "name": "yangjq7"}, {"usia": 20, "name": "yangjq8"}, {"usia": 21, "nama": "yangjq9"}] --- ------ ------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [Nama = Andreny, Umur = 22] ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Meringkaskan
Di atas adalah semua tentang artikel ini yang membahas pertukaran data JSON, masalah caching dan sinkronisasi. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!