添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

こちらを利用して、以下のような JSON ファイルをHTTPサーバーから取得するコードを書きました。

import "package:http/http.dart" as http;
Future<String> fetch(String url) async {
  final response = await http.get(Uri.parse(url)));
  return response.body;

しかし、ローカルで立てたHTTPサーバーからの取得では大丈夫でしたが、S3からの取得では文字化けしてしまいました。
どうやら、Content-Typecharset=utf8 が含まれていないと、 LATIN-1 と解釈されてしまうようです。

そのため、bodyBytes を取得した上で、明示的にUTF-8に変換を行うことで対応できます。

import "dart:convert";
import "package:http/http.dart" as http;
Future<String> fetch(String url) async {
  final response = await http.get(Uri.parse(url)));
  return utf8.decode(response.bodyBytes);