【问题标题】:How to get Multiple Key Value in Dart Http如何在 Dart Http 中获取多个键值
【发布时间】:2019-10-02 13:22:59
【问题描述】:

请问如何在 Flutter 中使用 http 和 FutureBuilder 获得这种 API 响应。

"GLODATA": {
            "1000": {
                "pname": "GLO 1.0GB/14days",
                "price": "470",
                "pld": "1000"
            },
            "1600.01": {
                "pname": "GLO 2.0GB/30days",
                "price": "940",
                "pld": "1600.01"
            },
            "3750.01": {
                "pname": "GLO 4.5GB/30days",
                "price": "1900",
                "pld": "3750.01"
            },
            "5000.01": {
                "pname": "GLO 7.2GB/30days",
                "price": "2430",
                "pld": "5000.01"
            }
        },

【问题讨论】:

    标签: api http flutter


    【解决方案1】:

    我认为在你的情况下,你需要做这样的事情:

    API:

    Future<http.Response> getData() async {
        final _api = "http://yourendpointhere";
    
        http.Response response = await http.get(_api);
    
        if (response.statusCode != 200) {
          throw Exception("Request failed...");
        }
    
        return response;
      }
    

    然后使用你的 api:

    http.Response response = await _apiInstance.getData();
    
    if (response.body != null && response.body.isNotEmpty) {
      String source = Utf8Decoder().convert(response.bodyBytes);
    
      Map<String, Map<String, dynamic>> data = Map();
      data = Map<String, Map<String, dynamic>>.from(json.decode(source));
    }
    

    之后,您可以在模型类中创建工厂构造函数,接收该映射并将其转换为您的类的实例。

    【讨论】:

      猜你喜欢
      • 2019-02-02
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      相关资源
      最近更新 更多