0
有我在许多用于编码地图的地方看到了如下的例子:我运行这似乎是最新的飞镖编辑飞镖encodeURIComponent方法Map.keys()
#import('dart:uri');
String encodeMap(Map data) {
return Strings.join(data.getKeys().map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}), "&");
}
(版本0.2.9_r 16323) 在上面的例子中,对于Dart M2,我认为data.getKeys()
已经更改为data.keys()
,这是我修改过的。未找到方法:
异常:的NoSuchMethodError
然而,在编辑器中运行它时,我得到一个错误 '呼叫'”
我有2个问题:
- 我想知道上面的代码是否仍然可以在M2中使用指定的更改(Map.keys())?
- 我在想如果上面的代码做了一些不同的事情:JSON.stringify(data);
欢迎任何其他指针。
TIA。
非常感谢你的答案。它回答了我的两个问题。我错过了getKeys()。map()改变为keys.map()而不是keys()。map()的细节。至少,encodeMap()中解决方案的语法对我来说相当隐秘。有没有类似JSON.stringify()来处理这个功能是否有意义?非常感谢,因为我花了很长时间试图解决对我来说是一个问题。尽管我认为Dart非常棒,但jquery似乎可以更好地处理这个问题。 $阿贾克斯()。我认为Dart没有(还)有类似的东西。 –