flutter - jsonEncode(DateTime)

序列化DateTime

当我想打印一下当前时间时,我先将DareTime转换成字符串,然后打印.

因为在JavaScript中就是这么做的JSON.stringify(XXXX),没想到dart中报错了.

print( jsonEncode(DateTime.now()) ); 

 /// error
Converting object to an encodable object failed.

使用自定义编码器进行序列化

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;
}

你可能感兴趣的:(flutter)