Semasa proses pembangunan, kami sering menghadapi keperluan untuk menukar objek JavaScript kepada data JSON. JSON (JavaScript Object Notation) ialah format pertukaran data ringan berdasarkan sintaks dan struktur objek JavaScript dan digunakan secara meluas untuk penghantaran dan penyimpanan data bahagian hadapan dan belakang.
Dalam JavaScript, objek ialah jenis data kompleks yang boleh mengandungi berbilang sifat dan kaedah. Apabila menukar objek kepada data JSON, anda boleh menggunakan kaedah JSON.stringify(), yang menyerikan objek JavaScript ke dalam data JSON dalam bentuk rentetan. Mari lihat beberapa contoh:
// 定义一个 JavaScript 对象 var person = { name: "张三", age: 18, gender: "男" }; // 将 JavaScript 对象转换为 JSON 数据 var json = JSON.stringify(person); // 输出 JSON 数据 console.log(json); // 输出:{"name":"张三","age":18,"gender":"男"}
Dalam contoh di atas, kami mentakrifkan objek JavaScript yang dipanggil orang, yang mempunyai tiga sifat: nama, umur dan jantina. Kami kemudian menggunakan kaedah JSON.stringify() untuk menukar objek kepada data JSON dan mengeluarkan data JSON kepada konsol.
Selain objek ringkas, kaedah JSON.stringify() juga boleh mensirikan jenis data lain, termasuk tatasusunan, rentetan, nilai angka, dsb. Berikut ialah beberapa contoh:
// 序列化字符串 var str = "Hello World!"; var json = JSON.stringify(str); console.log(json); // 输出:""Hello World!"" // 序列化数组 var arr = [1, 2, 3]; var json = JSON.stringify(arr); console.log(json); // 输出:"[1,2,3]" // 序列化数值 var num = 123; var json = JSON.stringify(num); console.log(json); // 输出:"123"
Perhatikan bahawa apabila melakukan penyirian JSON, jika objek mengandungi nilai yang menyalahi undang-undang seperti fungsi, Undefined, dsb., ia akan diabaikan. Pada masa yang sama, JSON.stringify() juga boleh menerima parameter kedua, yang digunakan untuk menentukan koleksi atribut atau fungsi bersiri tersuai yang perlu disiri.
Berikut ialah beberapa contoh:
// 序列化指定属性 var person = { name: "张三", age: 18, gender: "男", email: "zhangsan@example.com" }; var json = JSON.stringify(person, ["name", "age"]); console.log(json); // 输出:"{"name":"张三","age":18}" // 自定义序列化函数 var person = { name: "张三", age: 18, gender: "男", toJSON: function() { return { name: this.name, gender: this.gender }; } }; var json = JSON.stringify(person); console.log(json); // 输出:"{"name":"张三","gender":"男"}"
Dalam contoh di atas, kami menggunakan parameter kedua untuk menentukan bahawa hanya nama dan sifat umur disiri, atau menggunakan fungsi toJSON() tersuai untuk Tentukan logik bersiri untuk objek.
Untuk meringkaskan, menukar objek JavaScript kepada data JSON ialah operasi biasa dan boleh dicapai menggunakan kaedah JSON.stringify(). Selain objek asas, tatasusunan, rentetan dan jenis angka, anda juga boleh menggunakan parameter kedua atau fungsi toJSON() tersuai untuk menyesuaikan logik siri.
Atas ialah kandungan terperinci objek javascript 转 json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!