How to convert DateTime object to json How to convert DateTime object to json dart dart

How to convert DateTime object to json


Rather than using a wrapper, you can also create your own custom encoder passing the toEncodable argument.

import 'dart:convert' show JSON;void main() {  var dt = new DateTime.now();  var str = JSON.encode(dt, toEncodable: myEncode);  print(str);}dynamic myEncode(dynamic item) {  if(item is DateTime) {    return item.toIso8601String();  }  return item;}


first: JSON does not support date/time encoding.. this is usually done by convention depending on the other party - usually a string representation (e.g. ISO8601 but Microsoft's ASP.NET uses a custom format).

second: How to convert an object containing DateTime fields to JSON in Dart?
(In short: Runtime does not serialise DateTime. You'll need to create a wrapper with custom serialisation logic.)


you are encoding object(DateTime) into other encodable object JSON.encode(DateTime.Now()) which is not possible in dart programming.

So, convert it to dart supported Date to String conversion that is : add : .toIso8601String() at the end

JSON.encode(DateTime.Now().toIso8601String()),this resolves your error.// i am taking DateTime.Now() just for example.