json - Flutter/Dart JSON和现有库类的序列化

标签 json flutter serialization dart json-serialization

我有一个类:

import 'package:google_maps_flutter/google_maps_flutter.dart';

class Place {
  Place({
    this.address,
    this.coordinates,
  });

  final String address;
  final LatLng coordinates;
}
LatLnggoogle_maps_flutter的类。如何使用Placejson_annotation使json_serializable类可序列化?

非常感谢你!

最佳答案

将此代码放入模型中

从JSON响应中获取信息只需在您的请求后执行

  • final place = placeFromJson(response.body);
  • 获取地址=> = place.address
  • 获取坐标=> place.coordinates.lng,place.coordinates.lat

  • ============================================
    
    import 'dart:convert';
    
    Place placeFromJson(String str) => Place.fromJson(json.decode(str));
    
    String placeToJson(Place data) => json.encode(data.toJson());
    
    class Place {
        String address;
        Coordinates coordinates;
    
        Place({
            this.address,
            this.coordinates,
        });
    
        factory Place.fromJson(Map<String, dynamic> json) => Place(
            address: json["address"],
            coordinates: Coordinates.fromJson(json["coordinates"]),
        );
    
        Map<String, dynamic> toJson() => {
            "address": address,
            "coordinates": coordinates.toJson(),
        };
    }
    
    class Coordinates {
        String lat;
        String lng;
    
        Coordinates({
            this.lat,
            this.lng,
        });
    
        factory Coordinates.fromJson(Map<String, dynamic> json) => Coordinates(
            lat: json["lat"],
            lng: json["lng"],
        );
    
        Map<String, dynamic> toJson() => {
            "lat": lat,
            "lng": lng,
        };
    }
    

    关于json - Flutter/Dart JSON和现有库类的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59716608/

    相关文章:

    django - 序列化程序 - Django REST Framework - 序列化程序字段可能命名不正确,并且与 `str` 实例上的任何属性或键都不匹配

    javascript - 使用 Node 解析多个大型 JSON 文件到 mongoDB

    php - Symfony2 形式转 JSON 结构

    java - Jackson:将枚举值序列化和反序列化为整数

    flutter 。图像圆角边框不起作用

    video - 在 Flutter 中播放内联视频?

    dart - Flutter:Google Map Plugin 如何在 map 内的两个坐标之间画一条线

    json - Flutter 快照数据为空

    c# - 序列化异常 : "Type\...\in assembly\...\is not marked as serializable" appears when I try to serialize ObservableCollection

    php - 序列化与内爆