#json #flutter
#json #flutter
Вопрос:
import 'package:basicsforapi/studetDetailModel.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
class newApp extends StatefulWidget {
newApp({Key key}) : super(key: key);
@override
_newAppState createState() => _newAppState();
}
class _newAppState extends State<newApp> {
List<Profile> myallData = [];
Future<List<Profile>> makeRequest() async {
var url =
"http://ec2-232-25-216.ap-suth-1.copte.amoaws.com:124/userdetals?uer=user1";
var response = await http
.post(Uri.encodeFull(url), headers: {"Accept": "application/json"});
// print(response.body);
print(response.body);
var jsonBody = json.decode(response.body);
setState(() {
myallData = jsonBody;
});
}
@override
void initState() {
this.makeRequest();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Hi"),
),
body: Column(
children: [Text("$myallData")],
));
}
}
Данные Json :
[{"ImageUrl":"https://i.pinimg.com/originals/ff/a0/9a/ffa09aec412db3f54deadf1b3781de2a.png","_id":"5fec7033d5b59b44f5146651","academicYear":2019,"cityId":1,"class":9,"coinBalance":2456,"curr":"CBSE","dob":"20160102","email":"EDTECH001@GMAIL.COM","expPoints":10000,"firstName":"SHAKIBA NAAZ","instituteId":5,"lastName":"EDTECH","mobile":"9999900000","password":"pass1","relatedId":{"id1":"49999"},"studentId":1,"userName":"user1"}]
как обработать список и поместить все эти данные отдельно в текстовые поля.
даже я видел, создавая модель, даже если она не получена, я получаю эту ошибку
ОШИБКА: необработанное исключение: тип ‘List’ не является подтипом типа ‘List’.
помогите мне
Ответ №1:
То, что вы получаете от ответа api, не является списком объекта профиля. таким образом, вы можете преобразовать свой список объектов json в объект профиля, а затем подписать или сохранить как динамический список.
Попробуйте это.
Измените это
List<Profile> myallData = [];
К этому
List myallData = [];