我是颤振初学者。我得到这样的JSON响应时出错。
{
dataKey: [
{
key1: value1,
key2: value2,
key3: value3,
}
]
}
我一直在论坛上寻找这个问题,我发现是这样的。
Map<String, dynamic> map = json.decode(response.body);
List<dynamic> data = map["dataKey"];
print(data[0]["name"]);
但我不懂如何编写函数。这是我的密码。
Future<Map> getData() async {
var response = await http.get(
'https://api.batulimee.com/v1_ship/port_detail?port_id=${widget.list[widget.index]
['port_id'].toString()}');
return json.decode(response.body) as Map<String, dynamic>;
}
FutureBuilder<Map>(
future: getData(),
builder: (context, snapshot) {
if (snapshot.hasError) print(snapshot.error);
return snapshot.hasData
? new Ports(
list: snapshot.data['data'],
)
: new Container();
},
),
class Ports extends StatelessWidget {
final List list;
Ports({this.list});
@override
Widget build(BuildContext context) {
return ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (context, i) {
return Card(
child: Container(
padding: EdgeInsets.all(8),
color: Colors.red,
child: Text(
list[i]['port_website'].toString(),
style: TextStyle(color: Colors.white, fontSize: 24),
),
),
);
},
);
}
}
还有像这样的错误。
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>'
我很抱歉问了同样的问题,因为我不明白
//define your model in defineModel
Map<int, defineModel> yourMap = {};
和获取方法:
Future<void> getFavoriteList() async {
try {
final response = await http.get('url');
final extractedData = json.decode(response.body);
if (extractedData == null) {
return;
}
final Map<int, defineModel> loadedProducts = {};
final lastExtract = extractedData['dataKey'];
lastExtract.forEach((prodData) {
loadedProducts.putIfAbsent(
//you Must Define A UniqueKey in here
key,
() => defineModel(
key1: prodData['key1'],
key2: prodData['key2'],
key3: prodData['key3'],
),
);
});
yourMap = loadedProducts;
} catch (error) {
throw (error);
}
}
我有点被某些情况困住了。 1)
在存储到本地数据库之前,将字符串转换为对象的正确方法是什么? 这是的输出: 我试图将其转换为CreatedBy对象 创造的 这里是我的本地表列 错误
在写这个问题之前,我看了以下链接: 未处理的异常:InternalLinkedHashMap 守则: 我只是不知道为什么错误存在,所以请帮帮我。谢谢你! 编辑:如果有助于解决问题,我可以将数据更改为限制
如果flatter中存在列表,是否会处理列表映射? 在上面的类中,我们需要手动将json转换为电影列表吗?
这是我的代码: 我得到的错误是: _类型错误(类型“\u InternalLinkedHashMap
我有错误从标题时试图这样做 > 我创建了@JsonSerialiazable()类来处理json 然后,在调用http时。get(),我执行以下操作: map变量如下所示: 当调用$MyResponseFromJson(json)时,当它试图从我的响应中执行(json['a']as List)时,它会给出一个错误。g、 构建运行程序生成的dart文件。 我如何修复错误? 谢啦