![](/img/trans.png)
[英]Flutter Error: List<dynamic> is not subtype of type Map<String, dynamic>
[英]Flutter error (type 'List<dynamic>' is not a subtype of type 'Map<String, String>')
當我嘗試解碼 json 時,它給了我錯誤。
我的 model class
class States{
String name;
String abbreviation;
States({this.name, this.abbreviation});
factory States.fromJson(Map<String,String> json){
return States(
name: json['name'],
abbreviation: json['abbreviation']
);
}
}
function 我正在使用它
Future<void> search(String text) async {
String jsonString = await loadData();
var data = jsonDecode(jsonString);
var states = States.fromJson(data);//here it gives me error
if (textEditingController.text == null ||
textEditingController.text.isEmpty) {
streamController.add(null);
return;
} else {
print(text);
streamController.add(states.name.startsWith(text.toLowerCase()));
}
}
json 數據
[
{
"name": "Alabama",
"abbreviation": "AL"
},
{
"name": "Alaska",
"abbreviation": "AK"
},
]
您正在傳遞List<Map>
您的參數是Map<String,dynamic>
。
[
{
"name": "Alabama",
"abbreviation": "AL"
},
{
"name": "Alaska",
"abbreviation": "AK"
},
]
做這個:
List<State> states = data.forEach((value) {
States.fromJson(value);
});
這樣,您將獲得使用您的響應list
創建的States
列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.