Custom Serialization
កន្លង​មក យើង​បាន​យក​វត្ថុ​នៅ​ក្នុង​ភាសា JS នានា​មក​កែច្នៃ​អោយ​ទៅ​ជា​វត្ថុ JSON ដោយ​យក​វិធី​មាន​ស្រាប់​ឈ្មោះ JSON.stringify() មក​ប្រើ​។ ក៏ប៉ុន្តែ យើង​មិន​បាន​ដឹង​ថា បើ​សិន​ជា​យើង​បង្កើត​ផ្លាក (key) មួយ​មាន​ឈ្មោះ​ថា toJSON ដែល​មាន​តំលៃ (value) ​ជា​ក្បួន​ណា​មួយ​នៅ​ក្នុង​វត្ថុ JS ដែល​ត្រូវ​យក​មក​កែច្នៃ វិធី JSON.stringify() និង​យក​លទ្ធផល​បាន​មក​ពី​ក្បួន​នោះ​មក​កែច្នៃ​អោយ​ទៅ​ជា​វត្ថុ JSON ដោយ​រំលង​ចោល​នូវ​អ្វី​ៗ​ទាំងអស់​ដែល​មាន​នៅ​ក្នុង​វត្ថុ​នោះ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖
var myObj = {name: "John", toJSON: function(){return {name:"កុសល"}}, city: "New York", 1:"Number 1"};
var myJSON = JSON.stringify(myObj);
console.log(myJSON);

លើស​ពី​នេះ​ទៀត យើង​អាច​ប្រើប្រាស់​ក្បួន​ណា​មួយ​សំរាប់​កែប្រែ​តំលៃ (value) នៅ​ក្នុង​វត្ថុ​ដែល​ត្រូវ​យក​មក​កែប្រែ​ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖
var obj = {"name":"John", "age":"39", "city":"New York"};
var text = JSON.stringify(obj, function (key, value){
	if(key == "city"){
    	return value.toUpperCase();
    }else{
        return value;
    }
});
console.log(text);

ក្រៅ​ពី​ការប្រើប្រាស់​ក្បួន​ដូច​ខាង​លើ​ ក្នុង​ការកែប្រែ​តំលៃ​របស់​វត្ថុ JS ដែល​ត្រូវ​យក​មក​កែច្នៃ​អោយ​ទៅ​ជា​វត្ថុ JSON យើង​ក៏​អាច​ប្រើប្រាស់​កំរង (array) នៅ​ក្នុង​ការជ្រើសររើស​យក​ធាតុ​មួយ​ចំនួន​មក​កែ​ច្នៃ​បាន​ដែរ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖
var obj = { "name":"John", "age":"39", "city":"New York"};
var text = JSON.stringify(obj, ['name', 'city']);
console.log(text);