JSON.stringify() ไม่ได้แค่ stringify object แต่ยัง ลบ function ที่อยู่ใน object ด้วย เพื่อให้ function ไม่ถูกลบ ต้องแปลงเป็น string ก่อนแล้วค่อย stringify
ตัวอย่าง: function ไม่ได้แปลงเป็น string ถูกลบตอน stringify เหลือ properties อื่นๆ
ตัวอย่างที่ 1 (Function ถูกลบ)
<html> <body>
<p id="stringify"></p>
<script>
var person = {
name: function () { return "Ram" + "Rahim"; },
designation: "Developer",
city: "Hyderabad"
};
var myJSON = JSON.stringify(person);
document.getElementById("stringify").innerHTML = myJSON;
</script>
</body> </html>
ผลลัพธ์
{"designation":"Developer","city":"Hyderabad"}
ตัวอย่างที่ 2: แปลง function เป็น string ด้วย toString() ก่อน stringify function จึงไม่ถูกลบ
ตัวอย่างที่ 2 (Function ไม่ถูกลบ)
<html> <body>
<p id="stringify"></p>
<script>
var obj = {
name: function () { return "Ram" + "Rahim"; },
designation: "Developer",
city: "Hyderabad"
};
obj.name = obj.name.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("stringify").innerHTML = myJSON;
</script>
</body> </html>
ผลลัพธ์
{"name":"function () {return Ram + Rahim;}","designation":"Developer","city":"Hyderabad"}