在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:PoojaB26/ParsingJSON-Flutter开源软件地址:https://github.com/PoojaB26/ParsingJSON-Flutter开源编程语言:Dart 92.6%开源软件介绍:Parsing complex JSON in FlutterGives a detailed explanation of working with simple and complex JSON structures using dart:convert library in Flutter along with a sample project with 6+ examples to experiment with. TutorialRead the Medium article here Types of JSON structures
How to work with Network Calls?Not covered in the article Let's take this API as an example. Take a look at post_model.dart for the model class and utility methods. I produced it using this converter tool GET getAllPosts//services.dart
Future<List<Post>> getAllPosts() async {
final response = await http.get(url);
return allPostsFromJson(response.body);
} // As a part of your UI widget, e.g body of Scaffold widget
FutureBuilder<List<Post>>(
future: getAllPosts(),
builder: (context, snapshot) {
if(snapshot.hasData)
return Text('Title from Post JSON : ${snapshot.data[0].title}');
else
return CircularProgressIndicator();
}
) GET getPost (to get a particular POST by id)//services.dart
Future<Post> getPost() async{
final response = await http.get('$url/1'); // the number is the id of the item being accessed
return postFromJson(response.body);
} // As a part of your UI widget, e.g body of Scaffold widget
FutureBuilder<Post>(
future: getPost(),
builder: (context, snapshot) {
if(snapshot.hasData)
return Text('Title from Post JSON : ${snapshot.data.title}');
else
return CircularProgressIndicator();
}
) POST createPost//services.dart
Future<http.Response> createPost(Post post) async{
final response = await http.post('$url',
headers: {
HttpHeaders.contentTypeHeader: 'application/json'
},
body: postToJson(post)
);
return response;
} //call this function when you want to create a new post
callAPI(){
Post post = Post(
body: 'Testing body body body',
title: 'Flutter jam6'
); // creating a new Post object to send it to API
createPost(post).then((response){
if(response.statusCode > 200)
print(response.body);
else
print(response.statusCode);
}).catchError((error){
print('error : $error');
});
} |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论