在存储到本地数据库之前,将json
字符串转换为对象的正确方法是什么?
这是i['created_by_user']
的输出:
{id: 3, name: A}
我试图将其转换为CreatedBy对象
CreatedBy.fromJson(jsonDecode(i['created_by_user'])),
创造的
@JsonSerializable()
class CreatedBy{
var name;
var id;
CreatedBy();
factory CreatedBy.fromJson(Map<String, dynamic> json) =>
_$CreatedByFromJson(json);
Map<String, dynamic> toJson() => _$CreatedByToJson(this);
}
这里是我的本地表列
TextColumn get createdByUser =>
text().map(const CreatedBySqlConverter()).nullable()();
class CreatedBySqlConverter extends TypeConverter<CreatedBy, String> {
const CreatedBySqlConverter();
CreatedBy mapToDart(String fromDb) {
if (fromDb == null) return null;
return CreatedBy.fromJson(json.decode(fromDb));
}
String mapToSql(CreatedBy createdBy) => json.encode(createdBy.toJson());
}
错误
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
如果你需要一个地图
i['created_by_user'] //is a Map<String, dynamic>
我想你不必破译它。
我建议你换个新的
CreatedBy.fromJson(jsonDecode(i['created_by_user'])),
具有
CreatedBy.fromJson(i['created_by_user']),
如果flatter中存在列表,是否会处理列表映射? 在上面的类中,我们需要手动将json转换为电影列表吗?
我正在尝试开发一个消息传递应用程序,它总是抛出一个异常 类型_InternalLinkedHashMap 当我试图给信息的背景颜色。它还表明 renderflex溢出99335像素 在列表中而不是列表中使用MessageBubble时。
我是颤振初学者。我得到这样的JSON响应时出错。 我一直在论坛上寻找这个问题,我发现是这样的。 但我不懂如何编写函数。这是我的密码。 还有像这样的错误。 我很抱歉问了同样的问题,因为我不明白
我有点被某些情况困住了。 1)
我正在尝试使用节点登录我的RESTAPI。js。但它给了我一个错误的说法: [错误:flatter/lib/ui/ui\u dart\u state.cc(186)]未处理的异常:类型'\u InternalLinkedHashMap 我使用提供者作为我的状态管理解决方案。注册用户进展顺利,但登录功能有问题。 我已经尝试了多种方法来解决这个问题,但运气不好,请帮忙。
我有错误从标题时试图这样做 > 我创建了@JsonSerialiazable()类来处理json 然后,在调用http时。get(),我执行以下操作: map变量如下所示: 当调用$MyResponseFromJson(json)时,当它试图从我的响应中执行(json['a']as List)时,它会给出一个错误。g、 构建运行程序生成的dart文件。 我如何修复错误? 谢啦