json_serializable插件不支持“文件”类型?

时间:2019-06-11 10:20:14

标签: flutter dart json-serialization

我正在使用json_serializable插件,但它似乎不适用于图像文件。不会生成“ myclass.g.dart”。我没有其他类型的麻烦。 (https://pub.dev/packages/json_serializable/versions/0.5.4#-readme-tab-

这是我的代码:

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:json_annotation/json_annotation.dart';

part 'myclass.g.dart';

@JsonSerializable()
class MyClass {
  final String name;
  final List<File> photosFile;

  MyClass({
    @required this.name,
    @required this.photosFile,
  });


  factory MyClass.fromJson(Map<String, dynamic> json) => _$MyClassFromJson(json);
  Map<String, dynamic> toJson() => _$MyClassToJson(this);


}

这是错误:

[SEVERE] json_serializable:json_serializable on lib/model/myclass.dart (cached):
Error running JsonSerializableGenerator
Could not generate `fromJson` code for `photosFile` because of type `File`.
None of the provided `TypeHelper` instances support the defined type.
package:mydomus_edl/model/myclass.dart:11:20
   ╷
17 │   final List<File> photosFile;
   │                    ^^^^^^^^^^
   ╵
[SEVERE] Failed after 171ms

有人知道吗?谢谢!

1 个答案:

答案 0 :(得分:0)

JSON架构支持五种基本值类型:
-字符串。
-号码。
-整数。
-布尔值。
- 空值。

您应该实现从String到文件的转换。