【问题标题】:How to make api call of string in flutter?如何在颤动中进行字符串的api调用?
【发布时间】:2021-08-27 03:26:03
【问题描述】:

我正在学习 Flutter。这是我需要调用的字符串,我不知道如何调用这种类型的字符串。

{
   "Info":[
      {
         "c_type_id":"1",
         "cleaning type":"Washroom Cleaning"
      },
      {
         "c_type_id":"2",
         "cleaning type":"Garden\/Lawn Cleaning"
      }
   ]
}

我的代码

  class Album {
    final String title;
     Album({
      this.title,
     });
     factory Album.fromJson(Map<String, dynamic> json) {
       return Album(
       title: json['title'],
      );
     }
    }

当我像这样https://flutter.dev/docs/cookbook/networking/fetch-data 关注我的代码时 并收到此错误“必须向文本小部件提供非空字符串”。因为他们遵循这种类型的字符串,而我的字符串类型不同。救命!

{
 "userId": 1,
  "id": 1,
  "title": "quidem molestiae enim"
 }

【问题讨论】:

    标签: api flutter dart


    【解决方案1】:

    您给定的数据(API 响应)似乎有一个地图列表,因此您应该先获取数据(使用异步函数):

    var response = await http.get("Your Url")
    

    那么你应该提取给定的地图列表如下:

    var temp = json.decode(response);
    List<dynamic> result = temp['Info']); // it is the described list
    

    现在,您可以使用您的数据(提取每个参数):

    String c_type_id = result[0]['c_type_id'];
    // and so on...
    

    【讨论】:

    • 抱歉这个菜鸟问题但是在哪里添加 var temp = json.decode(response);列表 结果 = temp['Info']);
    • 您可以在“then”函数中使用这些命令!你可能知道,http.get 是一个异步函数,得到结果后,你可以调用 .then 函数!
    【解决方案2】:

    您的问题根本不清楚,但我可以向您展示如何访问 json 中的元素的示例。 您的 json 包含一个包含字符串键的列表。到达列表的第一个元素;

    json["Info"][0]
    

    然后传递你要获取它的值的key;

    json["Info"][0]["c_type_id"]
    

    http_requests 这篇文章中提到了所有类型的 http 请求。如果您还有任何问题,请发表评论。

    【讨论】:

    • 我使用了你的方法,比如这个 class Album { final String title;最终字符串 id;专辑({ this.title, this.id, }); factory Album.fromJson(Map json) { return Album(title: json['Info'][0], id: json["Info"][0]["c_type_id"], );这在屏幕上显示此消息“类型'internalLinkedHashMap'不是'String'的子类型”:(我错了
    • 你不能像这样使用 { title: json['Info'][0] }。当您获得此属性时,它包含一个包含地图的列表。 json['Info'][0] = [{"c_type_id":"1","cleaning type":"WashroomCleaning"}, {"c_type_id":"2","cleaning type":"花园\/草坪清洁"}]。这不是字符串
    猜你喜欢
    • 2019-06-26
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2020-06-19
    • 2021-06-15
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多