Flutter:如何“自动序列化为JSON” IconData对象?

时间:2019-08-29 14:36:23

标签: json serialization flutter

我有一个看起来像这样的简单对象:

part 'myObject.g.dart';
@JsonSerializable()
class MyObject {

    IconData data;
    String name;

    MyObject({this.name, this.iconData});

   factory Keystroke.fromJson(Map<String, dynamic> json) => _$MyObjectFromJson(json);

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

}

当我尝试使用json_serializable软件包对其进行序列化时,出现以下错误:

  

无法为fromJson生成data代码。

     

提供的TypeHelper实例都不支持定义的类型。

任何帮助,将不胜感激...

谢谢

(如果有任何重要意义,我正在使用最新的SDK ...谢谢)

1 个答案:

答案 0 :(得分:0)

根据您的情况,您可以使用 IconData值

(代码点,{this.fontFamily,this.fontPackage,this.matchTextDirection})

您需要而不是IconData对象本身。 然后,您可以在用户界面(或其他地方)中使用此对象并重建IconData。

或者,您必须自己编写to-和from-JSON方法。您会找到有关该文章的文章,例如:https://medium.com/flutter-community/generate-the-code-to-parse-your-json-in-flutter-c68aa89a81d9