Git Product home page Git Product logo

Comments (8)

westy92 avatar westy92 commented on May 5, 2024 16

Thanks! I got this to work. Leaving a DateTime with a custom format example for others:

@JsonSerializable()
class Test extends Object with _$TestSerializerMixin {

  @JsonKey(fromJson: _fromJson, toJson: _toJson)
  final DateTime date;

  Test({
    this.date,
  });

  factory Test.fromJson(Map<String, dynamic> json) => _$TestFromJson(json);
}

final _dateFormatter = new DateFormat('M/d/yyyy');
DateTime _fromJson(String date) => _dateFormatter.parse(date);
String _toJson(DateTime date) => _dateFormatter.format(date);

from json_serializable.dart.

kevmoo avatar kevmoo commented on May 5, 2024 3

See here for how you can get this done w/out creating a custom TypeHelper.

https://github.com/dart-lang/json_serializable/blob/bb96ddc0c241d07879d06f2209a210d2e73df31b/json_serializable/test/test_files/json_test_example.dart#L125-L151

Will be published soon!

from json_serializable.dart.

Sunbreak avatar Sunbreak commented on May 5, 2024 2
@JsonSerializable()
class TestItem {
  @JsonKey(fromJson: DateTimeHelper.toIso8601Json, toJson: DateTimeHelper.toIso8601Json)
  String createTime;

  TestItem(this.createTime);

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

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

extension DateTimeHelper on DateTime {
  static DateTime fromIso8601Json(String json) => DateTime.parse(json);

  static String toIso8601Json(DateTime date) => date.toIso8601String();
}

from json_serializable.dart.

tulioccalazans avatar tulioccalazans commented on May 5, 2024 1

Ah, its gotta be a static member.

static final _dateFormatter = DateFormat('M/d/yyyy');
static DateTime _fromJson(String date) => _dateFormatter.parse(date);
static String _toJson(DateTime date) => _dateFormatter.format(date);

from json_serializable.dart.

westy92 avatar westy92 commented on May 5, 2024

Is it possible using a method like this?

from json_serializable.dart.

thosakwe avatar thosakwe commented on May 5, 2024

I think that the TypeHelper functionality could potentially solve this for you. I'm not 100% sure how to use it, but it seems like once it's documented it'll be a possibility.

from json_serializable.dart.

kevmoo avatar kevmoo commented on May 5, 2024

This will be easily solved with #146

from json_serializable.dart.

kevmoo avatar kevmoo commented on May 5, 2024

from json_serializable.dart.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.