如何使用Dart获取URL/URI的参数/值对?不幸的是,目前在这个问题上没有内置功能,在Uri库或位置接口中都没有。从Uri中提取参数/值对作为地图
6
A
回答
2
现在有开放的我们的queryParameters成员返回一个地图
Uri u = Uri.parse("http://app.org/main?foo=bar&baz=bat");
Map<String,String> qp = u.queryParameters;
print(qp);
// {foo: bar, baz: bat}
0
Map<String, String> getUriParams(String uriSearch) {
if (uriSearch != '') {
final List<String> paramValuePairs = uriSearch.substring(1).split('&');
var paramMapping = new HashMap<String, String>();
paramValuePairs.forEach((e) {
if (e.contains('=')) {
final paramValue = e.split('=');
paramMapping[paramValue[0]] = paramValue[1];
} else {
paramMapping[e] = '';
}
});
return paramMapping;
}
}
// Uri: http://localhost:8080/incubator/main.html?param=value¶m1¶m2=value2¶m3
final uriSearch = window.location.search;
final paramMapping = getUriParams(uriSearch);
0
// url=http://127.0.0.1:3030/path/Sandbox.html?paramA=1&parmB=2#myhash
void main() {
String querystring = window.location.search.replaceFirst("?", "");
List<String> list = querystring.split("&").forEach((e) => e.split("="));
print(list); // [[paramA, 1], [parmB, 2]]
}
2
您可以使用Uri.splitQueryString的查询拆分成地图。
相关问题
- 1. 从LinkedHashMap提取地图值作为ArrayList
- 2. 如何从地图地图中的每个值中提取值?
- 3. 读取URI来提取参数
- 4. 从地图提取数据
- 5. 从参数*名称*中提取值?
- 6. 从地图对象中提取颜色值
- 7. php从数组中提取值并将其作为参数传递给函数
- 8. 从表中获取值作为参考
- 9. 提取参数值
- 10. 在URI中传递URI作为Drupal 6中的URL参数
- 11. 从对象数组中提取值
- 12. 从JSON数组中提取键/值对
- 13. 从参数中提取ID
- 14. 从数据url/uri图像中提取像素颜色
- 15. 从表单对象中提取数据作为数组数组
- 16. 如何获取URI作为NodeJS中的参数
- 17. 从Perl脚本中的命令行中提取参数作为参数
- 18. 为每个新客户端提取GStreamer和URI查询参数
- 19. 图像提取:uri太长
- 20. 如何从对象数组中提取键作为数组?
- 21. 值不能为空。参数名称:uri
- 22. 如何从位图获取Uri对象
- 23. 提交表单作为对象参数
- 24. 将json值作为具有lift-json的地图提取
- 25. 从数组中提取值
- 26. 从数组中提取值
- 27. 从Google地图提取原始数据
- 28. 从scanf中提取的参考值
- 29. 序列化:将对象传递为URL参数并提取值
- 30. 从请求URI中提取锚标签
是否有一个功能要求的错误? – 2012-08-04 18:13:53