我正在尝试从 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"
}
}
}