Flutter API:如何在不转换为字符串的情况下将 post 一个 "int" 转换为 Json 文件?
Flutter API : How to post an "int" to a Json file without converting to a String?
Future<DataModel?> submitData(String name, int age) async {
var response = await http.post(Uri.http("localhost:3000", "users"), body: {
"name" : name,
"job" : age,
});
var data = response.body;
print(data);
if(response.statusCode == 201){
String responseString = response.body;
return dataModelFromJson(responseString);
}
else return null!;
}
我想 Post 将年龄转换为 int 但找不到方法,我唯一需要做的就是将年龄转换为我不想要的字符串去做。
有什么解决办法吗!??
您可以使用 dart:convert
库中的 jsonEncode
函数。
body: jsonEncode(
{
"name": name,
"job": job,
"age": age,
},
确保导入
import 'dart:convert';
您的最终 HTTP 请求将如下所示:
var response = await http.post(
Uri.http("localhost:3000", "users"),
body: jsonEncode({
"name": name,
"job": job,
"age": age,
}),
);
我用 Dio 解决了这个问题。
首先我将这一行添加到 pubspec.yaml :
dependencies:
dio: ^4.0.6
确保导入它:
import 'package:dio/dio.dart';
我的最终 HTTP 请求:
var dio = Dio();
var response = await dio.post('http://localhost:3000/users', data: {
"name" : name,
"job" : age,
});
Future<DataModel?> submitData(String name, int age) async {
var response = await http.post(Uri.http("localhost:3000", "users"), body: {
"name" : name,
"job" : age,
});
var data = response.body;
print(data);
if(response.statusCode == 201){
String responseString = response.body;
return dataModelFromJson(responseString);
}
else return null!;
}
我想 Post 将年龄转换为 int 但找不到方法,我唯一需要做的就是将年龄转换为我不想要的字符串去做。 有什么解决办法吗!??
您可以使用 dart:convert
库中的 jsonEncode
函数。
body: jsonEncode(
{
"name": name,
"job": job,
"age": age,
},
确保导入
import 'dart:convert';
您的最终 HTTP 请求将如下所示:
var response = await http.post(
Uri.http("localhost:3000", "users"),
body: jsonEncode({
"name": name,
"job": job,
"age": age,
}),
);
我用 Dio 解决了这个问题。
首先我将这一行添加到 pubspec.yaml :
dependencies:
dio: ^4.0.6
确保导入它:
import 'package:dio/dio.dart';
我的最终 HTTP 请求:
var dio = Dio();
var response = await dio.post('http://localhost:3000/users', data: {
"name" : name,
"job" : age,
});