繁体   English   中英

Flutter API:如何在不转换为字符串的情况下将“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!;
}

我想将年龄作为 int 发布,但找不到这样做的方法,我唯一要做的就是将年龄转换为我不想做的字符串。 有什么解决办法吗???

您可以使用dart:convert库中的jsonEncode function。

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,
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM