1. 程式人生 > >flutter網路請求json

flutter網路請求json

import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:flutter/material.dart';

//使用網路請求json
class HomePage extends StatefulWidget {
  @override
_HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {

  final 
String url = "https://swapi.co/api/people"; List data; @override void initState() { super.initState(); this.getJsonData(); } Future<String> getJsonData() async{ var response = await http.get( //encode the url Uri.encodeFull(url), //only accept json response headers: {"Accept": "application/json"
} ); print(response.body); setState(() { // ignore: deprecated_member_use var convertDataToJson = JSON.decode(response.body); data= convertDataToJson['results']; }); return "Success"; } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text
("Retrieve Json via Http get"), ), body: ListView.builder( itemCount: data == null? 0:data.length, itemBuilder: (BuildContext context,int index){ return Container( child: Center( child: Center( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[ Card( child: Container( child: Text(data[index]['name']), padding: EdgeInsets.all(20.0), ), ) ], ), ), ), ); }, ), ); } }