Flutter HTTP 发布请求 JSON 处理无法正常工作

Posted

技术标签:

【中文标题】Flutter HTTP 发布请求 JSON 处理无法正常工作【英文标题】:Flutter HTTP post request JSON handling not working properly 【发布时间】:2021-11-14 23:27:07 【问题描述】:

我正在使用带有颤振应用程序的 nodejs 后端。我使用flutter http包发送请求。我想通过请求发送日期时间,所以我将它转换为字符串。因此,在节点后端,这些数据不能转换为原始类型(如 DateTime 或 int)。在flutter和node.js中处理JSON数据的最佳实践是什么?我想通过 http 请求发送数据(日期、字符串、整数)并以正确的格式在后端检索它们。这是颤振功能。这将所有详细信息完全转换为字符串,但我无法在节点后端检索原始格式。

Future<PlanDataInit> createItin(String? name, String? budget,
DateTime? startDate, DateTime? endDate) async 
final response = await http.post(
Uri.parse('http://localhost:3001/itinerary/createitin'),
headers: <String, String>
  'Content-Type': 'application/json; charset=UTF-8',
,
body: jsonEncode(<String, String>
  "Name": name.toString(),
  "startDate": startDate.toString(),
  "endDate": endDate.toString(),
  "initialBud": budget.toString()
),
);

【问题讨论】:

【参考方案1】:

使用 startDate.millisecondsSinceEpoch.toString()

【讨论】:

【参考方案2】:

将您的日期转换为 ISOstring 格式。在你的 NodeJS 解析\解码你从 Flutter 发送它们时编码的内容。

【讨论】:

以上是关于Flutter HTTP 发布请求 JSON 处理无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中使用 JSON 正文发出 http DELETE 请求?

如何将 json 列表传递给 Flutter 中的 http 请求(post)正文?

Flutter http 获取请求json序列化

Flutter - 网络请求与 json 解析

Flutter Http Request 从 JSON 响应中删除重复项

Flutter 使用 http 响应头缓存 JSON 响应