如何从飞镖中的地图对象获取价值

时间:2020-01-16 08:29:52

标签: dart

我有一个Map对象

Map decodedresp = json.decode(response);

从这里我得到一个列表:

print(decodedresp['objectUrls']);

[{signedUrl: abc.com, path: a/b/c.log}]

现在我想以字符串形式获取abc.com,但我无法获取

我正在学习飞镖,我是新手

1 个答案:

答案 0 :(得分:1)

因此,从我所看到的看来,您似乎正在处理已解析的json。

json.decode(response)一样解码json时,您会得到:

_InternalLinkedHashMap<String, dynamic>

由此您正在访问objectUrls,它返回一个List<Map>。为了解决这个问题,您需要查找在这种情况下为signedUrlpath的密钥。由于您的地图包含在列表中,因此您需要获取列表的元素。

这应该为您工作

Map<String, dynamic> decodresp = json.decode(response);
List<dynamic> objectUrls = decoderesp['objectUrls'];
// Zero here to get the first element, followed by the key.
var signedUrl = objectUrls[0]["signedUrl"];
var path = objectUrls[0]["path"];

You can see it working here

我可能是错的,但是因为没有太多信息,这就是我要处理的。 让我知道您是否有任何问题。

费利克斯。