繁体   English   中英

如何在 Dart 中使用 json_serializable 转换类型

[英]How to cast types with json_serializable in Dart

有没有办法使用 json_serializable将双值从 json 转换为 int 字段以进行代码生成? 也许一些注释? 我自己还找不到这样的东西。

从 json 这样

{
  "number": 1.0,
  ...
}

像这样到 class

class MyClass {
  final int number;
  ...
}

您可以使用一些 vsCode 或 Android Studio 扩展或 map 密钥到 class

喜欢

import 'dart:convert';

SampleClass sampleClassFromJson(String str) => SampleClass.fromJson(json.decode(str));

String sampleClassToJson(SampleClass data) => json.encode(data.toJson());

class SampleClass {
    SampleClass({
        this.number,
    });

    final int number;

    factory SampleClass.fromJson(Map<String, dynamic> json) => SampleClass(
        number: json["number"] == null ? null : json["number"],
    );

    Map<String, dynamic> toJson() => {
        "number": number == null ? null : number,
    };
} 

大多数时候我使用https://app.quicktype.io这个站点生成代码,修改最少

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM