Rumah >hujung hadapan web >tutorial js >Bercakap tentang penukaran bersama antara objek JSON dan rentetan teknik JSON.stringify(obj) dan JSON.parse(string)_javascript
Dalam penyemak imbas lanjutan seperti Firefox, chrome, opera, safari, ie9, ie8, dsb., anda boleh terus menggunakan kaedah stringify() dan parse() bagi objek JSON.
JSON.stringify(obj) menukarkan JSON kepada rentetan. JSON.parse(string) menukar rentetan ke dalam format JSON
var a={"name":"tom","sex":"男","age":"24"}; var aToStr = JSON.stringify(a); alert(aToStr); //结果:{"name":"tom","sex":"男","age":"24"}
Keputusan: rentetan
var b='{"name":"tom","sex":"男","age":"24"}'; var aToObj = JSON.parse(b); console.log(aToObj); //结果:Object {name: "tom", sex: "男", age: "24"}
Hasil: objek
ie8 (mod keserasian), ie7 dan ie6 tidak mempunyai objek JSON, tetapi http://www.json.org/ menyediakan json.js, jadi ie8 (mod keserasian), ie7 dan ie6 Ia boleh menyokong objek JSON dan kaedah stringify() dan parse();
Sekarang biasanya gunakan json2.js, alamat muat turun: Klik di sini.
Menambahnya pada halaman boleh menyelesaikan masalah bahawa versi IE yang lebih rendah tidak mempunyai objek json.
<script type="text/javascript" src="js/json2.js"></script>
PS: Kaedah parse() dan stringfy() JSON
1.JSON.parse;
Fungsi: Tukar rentetan JSON dalam perwakilan objek JavaScript kepada objek (rentetan ke objek)
Sintaks: JSON.parse(teks [, menghidupkan semula])
teks diperlukan. Rentetan JSON yang sah.
reviver Pilihan. Fungsi yang menukar hasil. Fungsi ini akan dipanggil untuk setiap ahli objek.
Nilai pulangan: objek JSON
Contoh:
var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}' var jsonObj = JSON.parse(jsonStr); alert(typeof jsonObj); //Object
2.JSON.stringify
Fungsi: Tukar objek json JavaScript kepada rentetan JSON dalam perwakilan objek JavaScript (objek kepada rentetan)
Sintaks: JSON.stringify(nilai [, pengganti] [, ruang]);
nilai diperlukan, biasanya objek atau tatasusunan
fungsi pengganti atau tatasusunan hasil penukaran pilihan
ruang pilihan. Tambahkan lekukan, ruang putih dan baris baharu untuk mengembalikan teks JSON nilai untuk bacaan yang lebih mudah.
Jika ruang ditinggalkan, teks nilai pulangan dijana tanpa sebarang ruang kosong tambahan.
Jika ruang ialah nombor, nilai pulangan mempunyai teks yang diinden oleh bilangan ruang yang ditentukan pada setiap peringkat. Jika ruang lebih besar daripada 10, teks diendenkan dengan 10 ruang.
Jika ruang ialah rentetan bukan kosong, seperti " ", teks nilai pulangan diinden dengan aksara rentetan pada setiap peringkat.
Jika ruang ialah rentetan lebih daripada 10 aksara, gunakan 10 aksara pertama.
Nilai pulangan: rentetan teks yang terkandung dalam JSON.
Contoh:
var student = new Object(); student.name = "leinov"; student.sex = "famle"; student.address = "chaoyang"; var jsonStudent = JSON.stringify(student); alert(typeof jsonStudent); //string