【发布时间】:2020-08-07 05:23:15
【问题描述】:
我正在尝试从 API 获取数据,但在执行以下代码时,我得到的响应仅为“调查类实例”,而不是 API 中的实际数据。这是我正在使用的代码:
Future GetSurvey() async {
var response = await http.get(
url,
headers: {
"Accept": "application/json"
}
);
if (response.statusCode == 200) {
// If the server did return a 200 OK response,
// then parse the JSON.
var data = convertoJson['Item'];
print(Questions.fromjson(data));*/
Map<String, dynamic> map = json.decode(response.body);
var data = map['Item'];
Survey survey = new Survey.fromjson(data);
print(survey.questions);
} else {
// If the server did not return a 200 OK response,
// then throw an exception.
throw Exception('Failed to load album');
}
}
}
class Questions{
String questions;
Questions({this.questions});
factory Questions.fromjson(Map<String, dynamic> json){
//var questionfromjson = json['question'];
//List<String> questionslist = new List<String>.from(questionfromjson);
return Questions(
questions: json['question']
);
}
}
class Survey{
String surveyid;
List<Questions> questions;
Survey({this.surveyid,this.questions});
factory Survey.fromjson(Map<String, dynamic> json){
var list = json['QUESTIONS'] as List;
print(list.runtimeType);
List<Questions> questionslist = list.map((e) => Questions.fromjson(e)).toList();
return Survey(
surveyid: json['OS_ID'],
questions: questionslist
);
}
}
API 格式如下:
{
"Item":
{
"OS_ID": "759",
"QUESTIONS":[
{
"rule":,
"question": "How much is the value"
},
{
"rule":,
"question": "Describe the view"
}
}
}
【问题讨论】:
-
请发帖minimal reproducible example。您的代码无法编译,即使可以编译,它也会打印出与您发布的消息不同的消息。
标签: flutter dart flutter-http