🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / FLUTTER / Json dan Objeye veya Objeden Jsona Dönüştürme Json to Object Serializable Class Model

1-) FLUTTER - Json dan Objeye veya Objeden Jsona Dönüştürme Json to Object Serializable Class Model

 

 

ENCODE

DECODE

 

import 'dart:convert';


String text = json.encode(classIsmi);

 

//diğer

String text = jsonEncode(tumbaka);

 

//diğer2

Iterable l =json.decode(jsonListem!);
tumbakaList= List<TumBankaModel>.from(l.map((model)=> TumBankaModel.fromJson(model)));

 

 

import 'dart:convert';

 

Map<String, dynamic> map = jsonDecode(json);

String name = map['name'];
int age = map['age'];

 

encode kaynak : https://stackoverflow.com/questions/50129573/dart-json-encode-returns-json-string-with-key-values-without-quotes

 

decode kaynak : https://stackoverflow.com/questions/51601519/how-to-decode-json-in-flutter

 

 

 

class UrunDetayList {
  
int id =0;
  
String ad = "";
  
String kategori = "";
  
String dovizCins = "";
  
int satilanAdet = 0;
  
double toplamFiyat = 0;
  
double birimFiyat = 0;
  
String imageAsset = "assets/images/mantarlisoguksebze.png"; // şimdilik

  
Map<String, dynamic> toJson() {
    
final Map<String, dynamic> data = new Map<String, dynamic>();
    
data['id'] = this.id;
    
data['ad'] = this.ad;
    
data['kategori'] = this.kategori;
    
data['dovizCins'] = this.dovizCins;
    
data['satilanAdet'] = this.satilanAdet;
    
data['toplamFiyat'] = this.toplamFiyat;
    
data['birimFiyat'] = this.birimFiyat;
    
data['imageAsset'] = this.imageAsset;

    
return data;
  }

 

 

GETX KULLANIRSAN ".VALUE" DİCEKSİN

 

class UrunDetayList extends GetxController {
  
int urunId = 0;
  
String ad = "";
  
RxInt satilanAdet = 0.obs ;
  
RxDouble toplamFiyat = 0.0.obs ;
 
  
Map<String, dynamic> toJson() {
    
final Map<String, dynamic> data = new Map<String, dynamic>();
    
data['urunId'] = this.urunId;
    
data['ad'] = this.ad;
   
data['satilanAdet'] = this.satilanAdet.value;
    
data['toplamFiyat'] = this.toplamFiyat.value;
    
return data;
  }
}

 

 

 

*************************************** DİĞER ***************************************

 

terminale yaz çalıştır -> dart pub add json_serializable    -> kaynak : https://pub.dev/packages/json_serializable

terminale yaz çalıştır -> dart pub add build_runner --dev -> kaynak : https://pub.dev/packages/json_serializable

terminale yaz çalıştır -> flutter pub get

 

Açıklama : Sanırım Constructer kullanmak zorunlu

 

1- sorular.dart

 

import 'package:json_annotation/json_annotation.dart';
part 'sorular.g.dart';

@JsonSerializable(explicitToJson: true)
class Sorular {
  
late String depAd;
  
late List<String> soruList;
  
late List<String> cevapList = [];

  
Sorular(this.depAd, this.soruList, this.cevapList);

  
factory Sorular.fromJson(Map<String,dynamic> data) => _$SorularFromJson(data);

  
Map<String,dynamic> toJson() => _$SorularToJson(this);
}

 

 

2- Ardından bunu çalıştır -> flutter pub run build_runner build

 

3- Aşağıdaki gibi otomatik dosya oluşturcak

 

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'sorular.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

Sorular _$SorularFromJson(Map<String, dynamic> json) => Sorular(
      json[
'depAd'] as String,
      (json[
'soruList'] as List<dynamic>).map((e) => e as String).toList(),
      (json[
'cevapList'] as List<dynamic>).map((e) => e as String).toList(),
    );

Map<String, dynamic> _$SorularToJson(Sorular instance) => <String, dynamic>{
      
'depAd': instance.depAd,
      
'soruList': instance.soruList,
      
'cevapList': instance.cevapList,
    };

 

 

 

 

 

 

 

 

 

 

 

4- KULLANIMI

 

var text = sorularim.toJson().toString();
debugPrint('jsonum: $text ');

 

 

model için

 

Sorular so1 = Sorular.fromJson( jsonDecode(json2));

 

 

 2022 Aralık 02 Cuma
 545