JSON өгөгдөл
JSON (JavaScript Object Notation) бол өгөгдөл хадгалах, дамжуулах хамгийн түгээмэл формат юм. Та вэбсайт дээр мэдээлэл авахуулахад, сервертэй харилцахад, эсвэл файлд өгөгдөл хадгалахад JSON-г байнга ашиглах болно. Харахад JavaScript объекттэй маш төстэй — гэхдээ хэдэн чухал ялгаатай.
JSON яаж харагддаг вэ?
JSON нь "түлхүүр": утга хосуудаас тогдоно. Бүх түлхүүр заавал давхар хашилтад байх ёстой.
{
"нэр": "Болд",
"нас": 24,
"хот": "Улаанбаатар",
"суралцагч": true
}
JSON дотор дараах төрлийн утга байж болно:
- Тэмдэгт мөр:
"Улаанбаатар" - Тоо:
24 - Boolean:
trueэсвэлfalse - Массив:
["JavaScript", "Python"] - Объект:
{ "код": 976 } - Хоосон утга:
null
JSON.stringify() — объектыг JSON болгох
JavaScript объектыг JSON форматын мөр болгохдоо JSON.stringify() ашиглана. Энэ нь сервер рүү өгөгдөл илгээхэд эсвэл localStorage-д хадгалахад зайлшгүй хэрэгтэй.
const хэрэглэгч = {
нэр: "Сарнай",
нас: 21,
хот: "Дархан",
};
const jsonМөр = JSON.stringify(хэрэглэгч);
console.log(jsonМөр);
// {"нэр":"Сарнай","нас":21,"хот":"Дархан"}
console.log(typeof jsonМөр); // "string"
Уншихад хялбар болгохын тулд хоёр дахь аргумент болгон null, 2 дамжуулж болно — энэ нь мөр болгон хоёр зай нэмнэ (pretty print):
const гоёхэлбэр = JSON.stringify(хэрэглэгч, null, 2);
console.log(гоёхэлбэр);
/*
{
"нэр": "Сарнай",
"нас": 21,
"хот": "Дархан"
}
*/
JSON.parse() — JSON-г объект болгох
Серверээс ирсэн эсвэл localStorage-аас унших JSON мөрийг JavaScript объект болгохдоо JSON.parse() ашиглана.
const jsonМөр = '{"нэр":"Болд","нас":24,"хот":"Улаанбаатар"}';
const объект = JSON.parse(jsonМөр);
console.log(объект.нэр); // "Болд"
console.log(объект.нас); // 24
console.log(typeof объект); // "object"
Алдааг зохицуулах
JSON.parse() руу буруу формат оруулбал алдаа гарна. Тиймээс try/catch ашиглах нь зөв дадал:
function аюулгүйПарс(мөр) {
try {
return JSON.parse(мөр);
} catch (алдаа) {
console.log("JSON формат буруу байна:", алдаа.message);
return null;
}
}
console.log(аюулгүйПарс('{"нэр":"Болд"}')); // { нэр: "Болд" }
console.log(аюулгүйПарс("буруу өгөгдөл")); // null
Дараагийн хичээлд:
Класс (Class) гэж юу болох, объект хэрхэн бүтээх, OOP программчлалын суурь ойлголтуудыг үзнэ.