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

কিভাবে:

Dart dart:convert লাইব্রেরির সাথে JSON এর জন্য বিল্ট-ইন সাপোর্ট প্রদান করে, যা JSON এনকোড এবং ডিকোড করা সহজ করে তোলে। নিচের উদাহরণগুলি মৌলিক অপারেশন প্রদর্শন করছে:

JSON স্ট্রিং থেকে Dart অবজেক্টে পার্সিং:

import 'dart:convert';

void main() {
  // উদাহরণ JSON স্ট্রিং
  String jsonString = '{"name": "John", "age": 30, "email": "[email protected]"}';
  
  // JSON থেকে Dart Map এ ডিকোডিং
  Map<String, dynamic> user = jsonDecode(jsonString);
  
  print('হ্যালো, ${user['name']}! আপনি ${user['age']} বছরের।');
  // আউটপুট: হ্যালো, John! আপনি 30 বছরের।
}

Dart অবজেক্ট থেকে JSON স্ট্রিংএ এনকোডিং:

import 'dart:convert';

void main() {
  // উদাহরণ Dart অবজেক্ট
  Map<String, dynamic> user = {
    'name': 'Jane',
    'age': 25,
    'email': '[email protected]'
  };
  
  // Dart Map থেকে JSON এ এনকোডিং
  String jsonString = jsonEncode(user);
  
  print(jsonString);
  // আউটপুট: {"name":"Jane","age":25,"email":"[email protected]"}
}

জটিল মডেলের জন্য json_serializable ব্যবহার: জটিল ডেটা মডেলের জন্য, ম্যানুয়াল সিরিয়ালাইজেশন বিরক্তিকর হতে পারে। json_serializable প্যাকেজ এই প্রক্রিয়াটি অটোমেট করে। এটি অতিরিক্ত সেটআপ প্রয়োজন, যার মধ্যে আপনার pubspec.yaml এ ডিপেনডেন্সি যোগ করা এবং বিল্ড ফাইল তৈরি করা অন্তর্ভুক্ত। সেটাপের পর, আপনি নিম্নলিখিতভাবে এটা ব্যবহার করতে পারেন:

১. অ্যানোটেশন সহ একটি মডেল নির্ধারণ:

import 'package:json_annotation/json_annotation.dart';

part 'user.g.dart';

@JsonSerializable()
class User {
  String name;
  int age;
  String email;
  
  User({required this.name, required this.age, required this.email});
  
  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
  Map<String, dynamic> toJson() => _$UserToJson(this);
}

২. সিরিয়ালাইজেশন বয়লারপ্লেট উত্পন্ন করুন: user.g.dart ফাইল জেনারেট করতে বিল্ড রানার কমান্ড ব্যবহার করুন:

flutter pub run build_runner build

৩. আপনার মডেল ব্যবহার করুন:

void main() {
  // JSON থেকে User এ পার্সিং
  Map userMap = jsonDecode('{"name": "John", "age": 30, "email": "[email protected]"}');
  User user = User.fromJson(userMap);
  
  print('ব্যবহারকারী: ${user.name}, বয়স: ${user.age}');
  // আউটপুট: ব্যবহারকারী: John, বয়স: 30

  // User কে ফিরে JSON এ রূপান্তর
  String jsonString = jsonEncode(user.toJson());
  print(jsonString);
  // আউটপুট: {"name":"John","age":30,"email":"[email protected]"}
}

এই উদাহরণগুলি Dart এ JSON এর সাথে মৌলিক এবং উন্নত মিথস্ক্রিয়া প্রদর্শন করে, ডেভেলপারদের তাদের অ্যাপ্লিকেশনে ডেটা সিরিয়ালাইজেশন কাজগুলি নির্বিঘ্নে হ্যান্ডেল করতে সক্ষম করে।