JSON.stringify()

การใช้งานปกติของ JSON คือการแลกเปลี่ยนข้อมูลกับเว็บเซิร์ฟเวอร์

ในขณะที่ส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ ข้อมูลต้องเป็นสตริง

ผ่าน JSON.stringify() แปลงตัวแปรสเปราะงค์ JavaScript เป็นสตริง

Stringify JavaScript Object

จินตนาการว่าเรามีตัวแปรสเปราะงค์นี้ใน JavaScript

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

ใช้ฟังก์ชัน JavaScript JSON.stringify() แปลงมันเป็นสตริง

var myJSON = JSON.stringify(obj);

ผลลัพธ์จะเป็นสตริงที่ปฏิบัติตามสัญลักษณ์ JSON

myJSON ในขณะนี้เป็นสตริง และพร้อมที่จะส่งไปยังเซิร์ฟเวอร์

ตัวอย่าง

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

ลองด้วยตัวเอง

คุณจะเรียนรู้ว่าทางไหนที่จะส่ง JSON ไปยังเซิร์ฟเวอร์ในบทถัดไป

Stringify JavaScript Array

ยังสามารถ Stringify ตัวแปรสเปราะงค์ JavaScript ได้

จินตนาการว่าเรามีตัวแปรสเปราะงค์นี้ใน JavaScript

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

ใช้ฟังก์ชัน JavaScript JSON.stringify() แปลงมันเป็นสตริง

var myJSON = JSON.stringify(arr);

ผลลัพธ์จะเป็นสตริงที่ปฏิบัติตามสัญลักษณ์ JSON

myJSON ในขณะนี้เป็นสตริง และพร้อมที่จะส่งไปยังเซิร์ฟเวอร์

ตัวอย่าง

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

ลองด้วยตัวเอง

คุณจะเรียนรู้ว่าทางไหนที่จะส่ง JSON ไปยังเซิร์ฟเวอร์ในบทถัดไป

ยกเว้น

Stringify วันที่

ใน JSON ไม่อนุญาตวันที่JSON.stringify() ฟังก์ชันจะแปลงวันที่ใดๆเป็นสตริง

ตัวอย่าง

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

ลองด้วยตัวเอง

คุณสามารถแปลงตัวแปรสตริงเป็นวันที่ในทางที่ได้รับได้

ฟังก์ชันที่มีการแปลงเป็นตัวอักษร

ใน JSON ไม่อนุญาตให้ฟังก์ชันเป็นค่าของสมบัติ

JSON.stringify() ฟังก์ชันจะลบฟังก์ชันทั้งหมดออกจาก JavaScript สมบัติ รวมถึงใบชื่อและค่า:

ตัวอย่าง

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

ลองด้วยตัวเอง

หากคุณทำการปฏิบัติการ JSON.stringify() ฟังก์ชันก่อนหน้านี้ได้แปลงฟังก์ชันเป็นตัวอักษร ส่วนนี้สามารถละเลยได้

ตัวอย่าง

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

ลองด้วยตัวเอง

คุณควรหลีกเลี่ยงการใช้ฟังก์ชันใน JSON ฟังก์ชันจะสูญเสียที่ยึดอยู่กับสถานการณ์ และคุณยังต้องใช้ eval() แปลงมันกลับเป็นฟังก์ชัน

การสนับสนุนเบราเซอร์

ทุกเบราเซอร์หลักและมาตรฐาน ECMAScript (JavaScript) ล่าสุดต่างก็มี JSON.stringify() ฟังก์ชัน:

ตัวเลขในตารางด้านล่างระบุการสนับสนุนที่เต็มที่ JSON.stringify() เวอร์ชันเบราเซอร์แรกของฟังก์ชัน:

Yes 8.0 3.5 4.0 10.0