首页 > 解决方案 > 从 s3 存储桶读取 json 文件

问题描述

“我在亚马逊 s3 存储桶上有一个带有 url 的文件,该文件为 json 格式,我想读取该文件并将其存储在颤振列表中”

HttpClient().getUrl(Uri.parse("mobile_app_air_ports.json"))
.then((HttpClientRequest request)=> request.close())
.then((HttpClientResponse response){
Future<List<String>> 
test=response.transform(Utf8Decoder()).toList();
});

标签: filehttpflutterdart

解决方案


您需要创建数据模型,然后解析 JSON:

import 'dart:convert';


class YourDataModel {
  final String yourData;

  Post({this.yourData});

  YourDataModel.fromJson(Map<String, dynamic> json) {
    return YourDataModel(
      yourData: json['yourData'],
    );
  }
}
Future<List<String>> fetchData() async {
  final response =
      await http.get('mobile_app_air_ports');

  if (response.statusCode == 200) {
    // If server returns an OK response, parse the JSON
    return (json.decode(response.body) as List<dynamic>)
        .map<YourDataModel>((item) => YourDataModel.fromMap(item))
        .toList();

  } else {
    // If that response was not OK, throw an error.
    throw Exception('Failed to load post');
  }
}

推荐阅读