Flutter 如何在flatter中将JSON响应转换为Map

Flutter 如何在flatter中将JSON响应转换为Map,flutter,Flutter,我有一个来自API调用的JSON响应。格式是这样的 [ { "hotelname": "A", "roomno": "101", "occupancy": "4" }, { "hotelname": "A", "roomno": "102", "occupancy": "3" }, { "hotelname": "B", "roomno": "101", "occupancy": "4" }, {

我有一个来自API调用的JSON响应。格式是这样的

[
  {
    "hotelname": "A",
    "roomno": "101",
    "occupancy": "4"
  },
  {
    "hotelname": "A",
    "roomno": "102",
    "occupancy": "3"
  },
  {
    "hotelname": "B",
    "roomno": "101",
    "occupancy": "4"
  },
  {
    "hotelname": "B",
    "roomno": "202",
    "occupancy": "3"
  }
] 
我想写一个代码,其中一个下拉列表显示酒店名称(a、B、C等),另一个下拉列表显示相应的roomno

为了实现这一点,我想将我的JSON响应转换为如下所示的映射

 Map<String,String> _hoteldata = {
    "101":"A",
    "102":"A",
    "101":"B",
    "202":"B",

  };
Map\u hoteldata={
“101”:“A”,
“102”:“A”,
“101”:“B”,
“202”:“B”,
};

首先,使用解析json,然后从列表中创建映射,例如,使用:


这样的映射不可能存在,因为键不是唯一的。@bereal我的键现在是唯一的。我已经更新了我的问题。现在可能吗?谢谢你,这对我帮助很大。
import 'dart:convert';
var rooms = jsonDecode(json) as List;
var hotelData = Map.fromEntries(
  rooms.map((room) => MapEntry(room['roomno'], room['hotelname']))
);