序列化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;
}