gpt4 book ai didi

dart - 未处理的异常 : InternalLinkedHashMap' is not a subtype of type ' 列表<动态>

转载 作者:行者123 更新时间:2023-12-03 02:38:35 28 4
gpt4 key购买 nike

我正在尝试从服务器获取 JSON 响应并将其输出到控制台。

Future<String> login() async {
var response = await http.get(
Uri.encodeFull("https://etrans.herokuapp.com/test/2"),
headers: {"Accept": "application/json"});

this.setState(() {
data = json.decode(response.body);
});


print(data[0].name);
return "Success!";
}

Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' isnot a subtype of type 'List


可能是什么原因?

最佳答案

以下是可能出错的两种常见方式:

  • 如果您的响应是一个 json 对象,例如
    [
    {
    key1: value1,
    key2: value2,
    key3: value3,
    },
    {
    key1: value1,
    key2: value2,
    key3: value3,
    },

    .....
    ]

    然后,我们使用 data[0]["name"] ,不是 data[0].name
    除非我们转换为具有 name 属性的对象,否则我们不能使用 data[0].name

    我们是这样投的data = json.decode(response.body).cast<ObjectName>();ObjectName可以是您想要的任何对象(内置或自定义)。但请确保它具有 name 属性
  • 如果您的响应是一个 JSON 对象,例如
    {
    dataKey: [
    {
    key1: value1,
    key2: value2,
    key3: value3,
    }
    ]
    }

    然后json.decode将返回 map ,不是 列表
    Map<String, dynamic> map = json.decode(response.body);
    List<dynamic> data = map["dataKey"];
    print(data[0]["name"]);
  • 关于dart - 未处理的异常 : InternalLinkedHashMap<String, 动态 >' is not a subtype of type ' 列表<动态>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55430061/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com