在Flutter中发送带有JSON参数的网络请求,你可以使用HTTP库(如http
或dio
)来实现。以下是使用http
库发送网络请求并携带JSON参数的示例:
Dart
import 'package:http/http.dart' as http;
import 'dart:convert';
// 创建参数Map
Map<String, dynamic> params = {
'name': 'John',
'age': 25,
};
// 将Map对象转换为JSON字符串
String jsonParams = jsonEncode(params);
// 设置请求头
Map<String, String> headers = {
'Content-Type': 'application/json',
};
// 发送POST请求
http.Response response = await http.post(
Uri.parse('http://example.com/api/endpoint'),
headers: headers,
body: jsonParams,
);
// 解析响应
if (response.statusCode == 200) {
// 请求成功
Map<String, dynamic> responseData = jsonDecode(response.body);
// 处理响应数据
} else {
// 请求失败
print('请求失败:${response.statusCode}');
}
在上述示例中,首先创建一个参数Map,并将其转换为JSON字符串。然后设置请求头,使其指明请求类型为JSON。最后使用http.post()
方法发送POST请求,并传递URL、请求头和请求体(即JSON参数)。等待请求完成后,检查响应状态码以判断请求是否成功,并解析响应的JSON数据。
请注意,示例中的URL和请求头需要根据实际情况进行修改。另外,你也可以使用其他HTTP库(如dio
)来发送网络请求,在使用时需要注意库的用法和相关配置。