JavaScript үндэс / JSON өгөгдөл

JSON өгөгдөл

JSON (JavaScript Object Notation) бол өгөгдөл хадгалах, дамжуулах хамгийн түгээмэл формат юм. Та вэбсайт дээр мэдээлэл авахуулахад, сервертэй харилцахад, эсвэл файлд өгөгдөл хадгалахад JSON-г байнга ашиглах болно. Харахад JavaScript объекттэй маш төстэй — гэхдээ хэдэн чухал ялгаатай.

JSON яаж харагддаг вэ?

JSON нь "түлхүүр": утга хосуудаас тогдоно. Бүх түлхүүр заавал давхар хашилтад байх ёстой.

json
{
  "нэр": "Болд",
  "нас": 24,
  "хот": "Улаанбаатар",
  "суралцагч": true
}

JSON дотор дараах төрлийн утга байж болно:

  • Тэмдэгт мөр: "Улаанбаатар"
  • Тоо: 24
  • Boolean: true эсвэл false
  • Массив: ["JavaScript", "Python"]
  • Объект: { "код": 976 }
  • Хоосон утга: null

JSON.stringify() — объектыг JSON болгох

JavaScript объектыг JSON форматын мөр болгохдоо JSON.stringify() ашиглана. Энэ нь сервер рүү өгөгдөл илгээхэд эсвэл localStorage-д хадгалахад зайлшгүй хэрэгтэй.

javascript
const хэрэглэгч = {
  нэр: "Сарнай",
  нас: 21,
  хот: "Дархан",
};

const jsonМөр = JSON.stringify(хэрэглэгч);
console.log(jsonМөр);
// {"нэр":"Сарнай","нас":21,"хот":"Дархан"}

console.log(typeof jsonМөр); // "string"

Уншихад хялбар болгохын тулд хоёр дахь аргумент болгон null, 2 дамжуулж болно — энэ нь мөр болгон хоёр зай нэмнэ (pretty print):

javascript
const гоёхэлбэр = JSON.stringify(хэрэглэгч, null, 2);
console.log(гоёхэлбэр);
/*
{
  "нэр": "Сарнай",
  "нас": 21,
  "хот": "Дархан"
}
*/

JSON.parse() — JSON-г объект болгох

Серверээс ирсэн эсвэл localStorage-аас унших JSON мөрийг JavaScript объект болгохдоо JSON.parse() ашиглана.

javascript
const jsonМөр = '{"нэр":"Болд","нас":24,"хот":"Улаанбаатар"}';

const объект = JSON.parse(jsonМөр);
console.log(объект.нэр); // "Болд"
console.log(объект.нас); // 24
console.log(typeof объект); // "object"

Алдааг зохицуулах

JSON.parse() руу буруу формат оруулбал алдаа гарна. Тиймээс try/catch ашиглах нь зөв дадал:

javascript
function аюулгүйПарс(мөр) {
  try {
    return JSON.parse(мөр);
  } catch (алдаа) {
    console.log("JSON формат буруу байна:", алдаа.message);
    return null;
  }
}

console.log(аюулгүйПарс('{"нэр":"Болд"}')); // { нэр: "Болд" }
console.log(аюулгүйПарс("буруу өгөгдөл")); // null

Дараагийн хичээлд:

Класс (Class) гэж юу болох, объект хэрхэн бүтээх, OOP программчлалын суурь ойлголтуудыг үзнэ.