当前位置: 首页 > 知识库问答 >
问题:

从Mapflatter获取Map

祁修诚
2023-03-14

我的代码如下:

 Map<dynamic, dynamic> result = snapshot.value;
 Map<String, dynamic> data = Map<String, dynamic>();
 for (dynamic type in result.keys) {
    data[type.toString()] = result[type];
 }
 print(data);
 print(data.runtimeType);

但是数据类型是\u InternalLinkedHashMap

直接转换也不起作用:snapshot.valueMap

我需要一张地图

快照。value有一种动态类型,但它是一个json对象,返回实时数据库查询的结果,并且没有关于如何将值检索到flatter对象的文档。

我尝试过这个答案,但我不能使用它,因为jsonDecode()将String作为参数。


共有2个答案

公胤运
2023-03-14

最近的Firecast视频在27分钟时解决了我的问题。

我也有一个非显式的Flutter错误关于另一个嵌套的HashMap在我的数据模型对象,不能直接转换。

解决方法是使用Map

景靖琪
2023-03-14

我使用DartPad测试了您的代码:

void main() {
  //Custom json
  Map<dynamic, dynamic> json = {
    "window": {
      "title": "Sample Konfabulator Widget",
      "name": "main_window",
      "width": 500,
      "height": 500
    }
  };

  Map<dynamic, dynamic> result = json;
  Map<String, dynamic> data = Map<String, dynamic>();
  for (dynamic type in result.keys) {
    data[type.toString()] = result[type];
  }
  print(data);
  print(data['window']);
  print(data['window']['title']);
}

打印1:

{窗口:{标题:示例KonFabulator小部件,名称:main_window,宽度: 500,高度: 500}}

打印2:

{标题:示例Konfabulator小部件,名称:main_窗口,宽度:500,高度:500}

打印3:

Konfabulator小部件示例

我不明白这个问题

 类似资料:
  • 有没有一种方法可以使用标准ajax请求从mapbox获取geojson文件? 比如: 我们目前下载了一个geojson文件,并将其作为本地脚本加载到站点上,一切正常。但是拜托,必须有一种方法从mapbox获取它,这样我们就不必不断更新本地文件。客户永远不会理解这个概念。 有人知道API访问点或获取geosjon文件的东西吗?

  • 问题内容: 我正在编写一个JSP / Servlet,并且试图获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将

  • 问题内容: 我正在编写一个JSP / Servlet,并且尝试获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将

  • 问题内容: 我可以从org.w3c.dom.Node获取完整的xpath吗? 说当前节点指向xml文档中间的某个位置。我想提取该元素的xpath。 我正在寻找的输出xpath是。节点xpath的父级。只需忽略具有表达式并指向同一节点的xpath。 问题答案: 没有获取XPath的通用方法,主要是因为没有一个通用XPath可以标识文档中的特定节点。在某些架构中,节点将由属性唯一标识(并且可能是最常见

  • 问题内容: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://my.server:8080/android/service.php"); 生成一个json字符串。我该如何从我的手机上获取?顺便说一句; 我已经将该库排除在外了,我可以在其中使用任何方法吗? 有更好的方法,

  • 问题内容: 我正在解决有关作为服务器响应的JSONObject的问题。 正如您在响应中看到的那样,我正在解析JSONObject并创建syncresponse,synckey作为 JSON对象 createdtrs,modtrs,deletedtrs作为 JSONArray 。我想从Deletedtrs访问JSONObject,以便可以将它们分开并使用这些值。即我想提取公司编号,用户名,日期等。