如何将DateTime对象转换为json
如何将如何将DateTime对象转换为json,json,dart,Json,Dart,如何将DateTime对象转换为json?它抛出将对象转换为可编码对象的失败。,那么这是一个bug还是它只是dart还不支持它?如果你们知道一些解决方法,请告诉我。首先:JSON不支持日期/时间编码。。这通常是根据另一方的约定完成的,通常是字符串表示(例如ISO8601,但Microsoft的ASP.NET使用自定义格式) 第二: (简而言之:运行时不序列化DateTime。您需要使用自定义序列化逻辑创建包装器。)您也可以创建自己的自定义编码器来传递参数,而不是使用包装器 import'dart
DateTime
对象转换为json?它抛出将对象转换为可编码对象的失败。
,那么这是一个bug还是它只是dart
还不支持它?如果你们知道一些解决方法,请告诉我。首先:JSON不支持日期/时间编码。。这通常是根据另一方的约定完成的,通常是字符串表示(例如ISO8601,但Microsoft的ASP.NET使用自定义格式)
第二:
(简而言之:运行时不序列化DateTime。您需要使用自定义序列化逻辑创建包装器。)您也可以创建自己的自定义编码器来传递参数,而不是使用包装器
import'dart:convert'显示JSON;
void main(){
var dt=new DateTime.now();
var str=JSON.encode(dt,toEncodable:myEncode);
打印(str);
}
动态myEncode(动态项){
如果(项目为日期时间){
return item.toiso8601字符串();
}
退货项目;
}
您也可以在Dart中转换地图
Map-encodeMap(地图地图){
map.forEach((键,值){
if(值为DateTime){
map[key]=value.toString();
}
});
返回图;
}
用法:var\u map=encodeMap(\u数据)
您正在将对象(DateTime)编码为其他可编码对象JSON.encode(DateTime.Now()),这在dart编程中是不可能的
因此,将其转换为dart支持的日期到字符串转换,即:
在末尾添加:.toIso8601String()
JSON.encode(DateTime.Now().toIso8601String()),这可以解决您的错误。
//我以DateTime.Now()为例