You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中处理含嵌套Map的List并映射至Model类

如何将含嵌套Map的JSON列表转换为Dart Model类?

我正尝试从JSONPlaceholder API获取数据,想在Dart中将其映射为Model类。试过YouTube教程和自动生成的Model,都没解决问题。获取到的数据是包含嵌套Map的List,示例如下:

var myMap = [
  {
    "name": "Ravindu",
    "age": 20,
    "scl": "smc",
    "address": {
      "city": "Kegalle",
      "country": "sri lanka"
    }
  },
  {
    "name": "Ravindu1",
    "age": 20,
    "scl": "smc1",
    "address": {
      "city": "Kegalle1",
      "country": "sri lanka1"
    }
  }
];

我想把这类数据映射到Model类,同时想知道怎么访问嵌套Map里的元素。试过myMap[0]["address"],但它只返回索引0处的整个地址Map。

我实际用的API地址是:final String url = "https://jsonplaceholder.typicode.com/users"

在DartPad测试时出现错误:

Uncaught Error: TypeError: Instance of 'JsLinkedHashMap<String, String>': type 'JsLinkedHashMap<String, String>' is not a subtype of type 'List'

测试代码如下:

void main() {
  var myMap = [
    {
      "name": "Ravindu",
      "age": 20,
      "scl": "smc",
      "address": {
        "city": "Kegalle",
        "country": "sri lanka"
      }
    },
    {
      "name": "Ravindu1",
      "age": 20,
      "scl": "smc1",
      "address": {
        "city": "Kegalle1",
        "country": "sri lanka1"
      }
    }
  ];
  
  print(myMap[0]);
  
  var addressList = myMap[0]["address"]["city"];
  print(addressList);
  
  (addressList as List).forEach((i){
    print(i["country"]);
  });
}

请问如何将此类JSON数据转换为Dart Model类?


内容的提问来源于stack exchange,提问作者xmr6204

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:10:51