تعامل با JSON و تبدیل داده‌ها در فلاتر

JSON (JavaScript Object Notation) یکی از رایج‌ترین فرمت‌های تبادل داده است که در برنامه‌نویسی مدرن، به‌ویژه در برنامه‌های موبایل، بسیار کاربرد دارد. در این مقاله، نحوه کار با JSON در فلاتر را توضیح می‌دهیم و مراحل تبدیل داده‌ها را به صورت گام‌به‌گام بررسی می‌کنیم.

چرا JSON؟

JSON به دلیل خوانایی بالا و ساختار ساده، یک انتخاب محبوب برای ارسال و دریافت داده‌ها بین کلاینت و سرور است. برخی از ویژگی‌های کلیدی JSON شامل:

  • سادگی در نوشتار
  • قابلیت استفاده در زبان‌های مختلف
  • پشتیبانی گسترده توسط ابزارها و کتابخانه‌ها

کار با JSON در فلاتر

فلاتر ابزارهای قدرتمندی برای مدیریت داده‌های JSON ارائه می‌دهد. مراحل زیر برای تعامل با JSON در فلاتر پیشنهاد می‌شوند:

۱. دریافت داده‌های JSON

برای دریافت داده‌ها از یک API، معمولاً از کتابخانه http استفاده می‌کنیم:

import 'dart:convert';
import 'package:http/http.dart' as http;

Future<Map> fetchData() async {
  final response = await http.get(Uri.parse('https://example.com/data'));
  if (response.statusCode == 200) {
    return json.decode(response.body);
  } else {
    throw Exception('Failed to load data');
  }
}

۲. تبدیل JSON به مدل

برای مدیریت بهتر داده‌ها، توصیه می‌شود که JSON را به یک مدل Dart تبدیل کنید:

class User {
  final String name;
  final int age;

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

  factory User.fromJson(Map<String, dynamic> json) {
    return User(
      name: json['name'],
      age: json['age'],
    );
  }
}

با استفاده از متد User.fromJson() می‌توانیم داده‌های دریافتی را به یک آبجکت User تبدیل کنیم.

۳. ارسال داده‌های JSON

برای ارسال داده‌ها به سرور نیز ابتدا باید مدل خود را به یک ساختار JSON تبدیل کنیم:

Map<String, dynamic> toJson() {
  return {
    'name': name,
    'age': age,
  };
}

Future<void> sendData(User user) async {
  final response = await http.post(
    Uri.parse('https://example.com/update'),
    headers: {'Content-Type': 'application/json'},
    body: json.encode(user.toJson()),
  );

  if (response.statusCode != 200) {
    throw Exception('Failed to send data');
  }
}

نکات پیشرفته

  • استفاده از ابزارهایی مانند json_serializable برای تولید خودکار مدل‌ها.
  • مدیریت خطاها هنگام پردازش یا ارسال/دریافت داده‌های ناقص.

نتیجه‌گیری

تعامل با JSON یکی از مهارت‌های اساسی برای توسعه‌دهندگان فلاتر است. آشنایی با اصول پایه‌ای مانند پارس کردن، تبدیل مدل و ارسال اطلاعات به شما کمک می‌کند تا برنامه‌هایی کارآمدتر بسازید. امیدواریم این مقاله توانسته باشد شما را با نحوه مدیریت صحیح JSON آشنا کند.