string_converter.dart 644 B

1234567891011121314151617181920212223242526
  1. import 'dart:convert';
  2. import 'package:json_annotation/json_annotation.dart';
  3. /// Json解析num类型
  4. class StringConverter extends JsonConverter<String?, dynamic> {
  5. const StringConverter();
  6. @override
  7. String? fromJson(json) {
  8. if (json == null) return null;
  9. // String
  10. if (json is String) return json;
  11. // num boolean
  12. if (json is num || json is bool) return json.toString();
  13. // List Map Object 转换Json字符串
  14. if (json is List || json is Map || json is Object)
  15. return JsonEncoder().convert(json);
  16. // 其他类型
  17. return json.toString();
  18. }
  19. @override
  20. toJson(String? object) => object;
  21. }