flutter - Flutter Moor 插入阵列
问题描述
我有以下 json {"key1":1,"results":[{"k1":"v1"},{"k2":"v2"}]}
我正在尝试将关键结果存储在 moor 数据库中。我已经创建了数据库并且能够存储key1但无法存储结果。我已经尝试了以下代码。//表格代码
class ClassName extends Table {
IntColumn get key1 => integer()();
TextColumn get results => text().map(const ResultConverter()).nullable()();
}
//类型转换器的代码
class ResultConverter extends TypeConverter<Result, String> {
const ResultConverter();
@override
Result? mapToDart(String? fromDb) {
if (fromDb == null) {
return null;
}
return Result.fromJson(json.decode(fromDb) as Map<String, dynamic>);
}
@override
String? mapToSql(Result? value) {
if (value == null) {
return null;
}
return json.encode(value.toJson());
}
}
//插入数据的代码
var data = ClassName.fromJson(value['body']);
database.insertData(data);
我收到以下错误。未处理的异常:“列表”类型不是“结果”类型的子类型?
解决方案
推荐阅读
- javascript - 在视口中可见时的 Javascript 动画
- sql - SQL条件检查行元素
- python - ValueError:使用序列设置数组元素。尝试使用 CNN 对图像进行分类
- extjs - 总计(sencha:ExtJS)?
- lua - 检查一个lua函数是否是匿名的?
- database - 使用 EcipseLink 的 H2 数据库出现问题(即使没有错误,程序也不会更改数据库)
- javascript - 使用存储在数组中的数据动态构建 JSON
- scala - 在 Compute.scala 中选择 OpenCL CPU 平台
- r - R geom_bar 图的排序
- reactjs - 警告:propType 失败:提供给 [ 'View' | 的 props.style 键 'color' 无效。'RCT 视图']