Model Class তৈরি এবং Serialization

JSON এবং Serialization (JSON এবং সিরিয়ালাইজেশন) - ডার্ট প্রোগ্রামিং (Dart Programming) - Computer Programming

238

Model Class তৈরি এবং Serialization in Dart

Dart-এ একটি Model Class তৈরি করা এবং সেটিকে Serialization (অবজেক্টকে JSON ফরম্যাটে রূপান্তর করা) একটি সাধারণ প্রক্রিয়া। এটি সাধারণত API থেকে ডেটা মডেল করার জন্য ব্যবহৃত হয়। নিচে Model Class তৈরি এবং Serialization করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।

১. Model Class তৈরি

Model Class হল একটি ক্লাস যা আপনার অ্যাপ্লিকেশনের ডেটা মডেলকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, যদি আপনি একটি ব্যবহারকারী (User) মডেল তৈরি করতে চান, তাহলে ক্লাসটি দেখতে এরকম হবে:

class User {
  String name;
  int age;
  bool isStudent;
  List<String> courses;

  User({
    required this.name,
    required this.age,
    required this.isStudent,
    required this.courses,
  });

  // Serialize User to JSON
  Map<String, dynamic> toJson() {
    return {
      'name': name,
      'age': age,
      'isStudent': isStudent,
      'courses': courses,
    };
  }

  // Deserialize JSON to User
  factory User.fromJson(Map<String, dynamic> json) {
    return User(
      name: json['name'],
      age: json['age'],
      isStudent: json['isStudent'],
      courses: List<String>.from(json['courses']),
    );
  }
}

২. Serialization (JSON এ রূপান্তর)

Serialization হল Model Class-এর একটি অবজেক্টকে JSON ফরম্যাটে রূপান্তর করার প্রক্রিয়া। এই উদাহরণে, toJson মেথডটি ব্যবহার করা হয়েছে।

উদাহরণ: Serialization

import 'dart:convert';

void main() {
  // Create a User instance
  User user = User(
    name: 'Alice',
    age: 30,
    isStudent: false,
    courses: ['Math', 'Science'],
  );

  // Serialize User to JSON
  String jsonString = jsonEncode(user.toJson());
  print('Serialized JSON: $jsonString');
}

৩. Deserialization (JSON থেকে পুনরুদ্ধার)

Deserialization হল JSON ফরম্যাটের একটি স্ট্রিংকে Model Class এর একটি অবজেক্টে রূপান্তর করার প্রক্রিয়া। এই উদাহরণে, fromJson ফ্যাক্টরি কনস্ট্রাক্টর ব্যবহার করা হয়েছে।

উদাহরণ: Deserialization

void main() {
  String jsonString = '{"name":"Alice","age":30,"isStudent":false,"courses":["Math","Science"]}';

  // Deserialize JSON to User
  User user = User.fromJson(jsonDecode(jsonString));
  print('Deserialized User: ${user.name}, Age: ${user.age}, Is Student: ${user.isStudent}');
}

৪. সম্পূর্ণ উদাহরণ

একসাথে সবকিছু দেখানো:

import 'dart:convert';

// Model class
class User {
  String name;
  int age;
  bool isStudent;
  List<String> courses;

  User({
    required this.name,
    required this.age,
    required this.isStudent,
    required this.courses,
  });

  // Serialize User to JSON
  Map<String, dynamic> toJson() {
    return {
      'name': name,
      'age': age,
      'isStudent': isStudent,
      'courses': courses,
    };
  }

  // Deserialize JSON to User
  factory User.fromJson(Map<String, dynamic> json) {
    return User(
      name: json['name'],
      age: json['age'],
      isStudent: json['isStudent'],
      courses: List<String>.from(json['courses']),
    );
  }
}

void main() {
  // Create a User instance
  User user = User(
    name: 'Alice',
    age: 30,
    isStudent: false,
    courses: ['Math', 'Science'],
  );

  // Serialize User to JSON
  String jsonString = jsonEncode(user.toJson());
  print('Serialized JSON: $jsonString');

  // Deserialize JSON to User
  User newUser = User.fromJson(jsonDecode(jsonString));
  print('Deserialized User: ${newUser.name}, Age: ${newUser.age}, Is Student: ${newUser.isStudent}');
}

উপসংহার

Dart-এ Model Class তৈরি করা এবং Serialization একটি কার্যকরী প্রক্রিয়া যা API থেকে ডেটা পরিচালনার জন্য সহায়ক। toJson এবং fromJson মেথডগুলি ব্যবহার করে আপনি অবজেক্টগুলিকে JSON এ রূপান্তর করতে এবং JSON থেকে অবজেক্টে রূপান্তর করতে পারেন। এটি ডেটা বিনিময়ের সময় নিরাপত্তা এবং কার্যকারিতা বৃদ্ধি করে।

Content added By
Promotion

Are you sure to start over?

Loading...