【发布时间】:2022-08-18 19:20:50
【问题描述】:
我正在尝试使用 http.get 方法将表的内容从 oracle apex 检索到我的颤振应用程序,并将这些值归因于我创建的类。问题是这个类的3个属性需要是List,所以,当我尝试映射它时,它返回这个错误:[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: type \ 'String\' 不是类型转换中类型 \'List\' 的子类型。
这是 JSON:
{
\"items\": [
{
\"id\": \"1\",
\"nome\": \"Feijão Tropeiro\",
\"id_dia_da_semana\": \"seg\",
\"id_categoria\": \"ga\",
\"url_da_imagem\": \"https://live.staticflickr.com/65535/52180505297_2c23a61620_q.jpg\",
\"ingredientes\": \"vários nadas\"
}
],
这是课程:
// ignore_for_file: public_member_api_docs, sort_constructors_first
import \'dart:convert\';
class Meal {
final String id;
final String descricao;
final List<String> ingredients;
final List<String> idDiaSem;
final List<String> idCategory;
final String imageUrl;
const Meal({
required this.id,
required this.descricao,
required this.ingredients,
required this.idDiaSem,
required this.idCategory,
required this.imageUrl,
});
Map<String, dynamic> toMap() {
return <String, dynamic>{
\'id\': id,
\'nome\': descricao,
\'ingredientes\': ingredients,
\'id_dia_da_semana\': idDiaSem,
\'id_categoria\': idCategory,
\'url_da_imagem\': imageUrl,
};
}
factory Meal.fromMap(Map<String, dynamic> map) {
return Meal(
id: map[\'id\'] as String,
descricao: map[\'nome\'] as String,
ingredients: map[\'ingredientes\'] as List<String>,
idDiaSem: map[\'id_dia_da_semana\'] as List<String>,
idCategory: map[\'id_categoria\'] as List<String>,
imageUrl: map[\'url_da_imagem\'] as String,
);
}
String toJson() => json.encode(toMap());
factory Meal.fromJson(String source) =>
Meal.fromMap(json.decode(source) as Map<String, dynamic>);
}
谁能帮我解决这个错误?我试图转换它不成功
-
为什么将字符串值解析为 List<String> ?
-
因为 Json 将值作为字符串返回,因为我使用 http.get 方法从数据库中获取它,并且我最终需要这些列中的多个项目,例如: \"ingredientes: one, two,三等\"
标签: json flutter dart get type-conversion