TypeScript:
JSON এর সাথে কাজ করা

কিভাবে:

JSON কে TypeScript অবজেক্টে পার্স করা

একটি JSON স্ট্রিংকে TypeScript অবজেক্টে পরিণত করতে, আপনি JSON.parse() মেথড ব্যবহার করবেন। এটি বিশেষত উপকারী হয় যখন আপনি একটি ওয়েব সার্ভার থেকে JSON ডাটা গ্রহণ করেন বা একটি JSON ফাইল পড়েন।

const jsonStr = '{"name": "John Doe", "age": 30}';
const obj = JSON.parse(jsonStr);

console.log(obj.name); // আউটপুট: John Doe

একটি TypeScript অবজেক্টকে JSON স্ট্রিং এ স্ট্রিংগিফাই করা

একটি TypeScript অবজেক্টকে JSON স্ট্রিং এ পরিণত করতে, আপনি JSON.stringify() মেথড ব্যবহার করবেন। এটি বিশেষত উপকারী হয় যখন আপনার একটি ওয়েব সার্ভারে ডাটা পাঠানোর প্রয়োজন হয়।

const person = {
  name: "Jane Doe",
  age: 25,
};

const jsonStr = JSON.stringify(person);

console.log(jsonStr); // আউটপুট: {"name":"Jane Doe","age":25}

ইন্টারফেসের সাথে কাজ করা

আপনি TypeScript ইন্টারফেসগুলি ডিফাইন করে JSON ডাটার সাথে সহজেই কাজ করতে পারেন আপনার অবজেক্টগুলির গঠন নিশ্চিত করে।

interface Person {
  name: string;
  age: number;
}

const jsonStr = '{"name": "Alex", "age": 28}';
const person: Person = JSON.parse(jsonStr);

console.log(person.age); // আউটপুট: 28

জনপ্রিয় থার্ড-পার্টি লাইব্রেরীগুলি ব্যবহার করা

স্কিমা ভ্যালিডেশন বা রূপান্তরের মতো আরও জটিল পরিস্থিতিগুলির জন্য, আপনি class-transformer বা AJV (Another JSON Schema Validator) এর মতো লাইব্রেরীগুলিতে অবলম্বন করতে পারেন।

class-transformer

এই লাইব্রেরি সাধারণ অবজেক্টগুলিকে ক্লাস ইন্সট্যান্সে পরিণত করতে এবং উল্টোদিকে করতে সক্ষম, যা টাইপ চেকিং এবং ম্যানিপুলেশনের জন্য উপকারী।

import "reflect-metadata";
import { plainToClass } from "class-transformer";
import { Person } from "./person";

const jsonStr = '{"name": "Mia", "age": 22}';
const person = plainToClass(Person, JSON.parse(jsonStr));

console.log(person instanceof Person); // আউটপুট: true
console.log(person.name); // আউটপুট: Mia

AJV

AJV একটি লাইব্রেরি যা দ্রুত JSON স্কিমা ভ্যালিডেশন অনুমোদন করে। এর মানে হচ্ছে আপনি প্রি-ডিফাইনড স্কিমার বিরুদ্ধে JSON অবজেক্টগুলি ভ্যালিডেট করতে পারেন।

import Ajv from "ajv";

const ajv = new Ajv();

const schema = {
  type: "object",
  properties: {
    name: { type: "string" },
    age: { type: "number" },
  },
  required: ["name", "age"],
  additionalProperties: false,
};

const validate = ajv.compile(schema);
const valid = validate({ name: "Tom", age: 24 });

console.log(valid); // আউটপুট: true
if (!valid) console.log(validate.errors);

এই সরঞ্জাম এবং প্রযুক্তিগুলির সাহায্যে, আপনি আপনার TypeScript অ্যাপ্লিকেশনগুলিতে JSON ডাটা দক্ষভাবে হ্যান্ডল করতে পারবেন, ডাটা ইন্টিগ্রিটি নিশ্চিত করতে পারবেন এবং TypeScript এর শক্তিশালী টাইপ সিস্টেমের সুবিধা নিতে পারবেন।