Dio是一個強大的HTTP客戶端,可以讓我們輕松地發送HTTP請求和接收HTTP響應。發送JSON需要使用Dio的post()方法,同時設置請求頭和請求體,下面我們來具體了解。
首先,我們需要導入Dio庫。
import 'package:dio/dio.dart';
然后我們可以設置請求頭,如下所示。
Mapheaders = {
'Content-Type': 'application/json',
// 可以在這里添加其他需要的請求頭
};
接下來,我們需要發送JSON數據。我們可以將JSON數據轉化為字符串,并將其作為請求體。如下所示:
MapjsonMap = {'id': 1, 'name': '張三'};
String jsonString = json.encode(jsonMap);
BaseOptions options = BaseOptions(
baseUrl: 'https://example.com',
connectTimeout: 5000,
receiveTimeout: 3000,
);
Dio dio = Dio(options);
try {
Response response = await dio.post(
'/api',
data: jsonString,
options: Options(headers: headers),
);
// 在這里處理響應數據
} catch(e) {
// 在這里處理異常
}
在這里,我們使用了Dio的post()方法來發送HTTP請求,并將JSON數據作為請求體發送。我們還使用了Options(headers: headers)來將請求頭添加到請求中。
當然,發送JSON數據也可以使用Dio的其他方法,例如put()、patch()等方法。只需要將以上代碼中的post()方法替換為其他方法即可。