我使用Process.run
执行ldapsearch
。然后,我从stdout
得到一个如下所示的字符串:
user: demo
first-name: demo
picture: trewtrewtrwrwgr
grewgrwgrwgrewgrwegrwe==
我可以从现有方法中简单地执行Map,还是必须创建一个?
谢谢。
答案 0 :(得分:2)
转换您的参赛作品:
String datas = '''user: demo
first-name: demo
picture: trewtrewtrwrwgr
grewgrwgrwgrewgrwegrwe==''';
final lines = datas.split('\n').fold([], (List<String> lines, line) {
if (line.contains(':')) lines.add(line);
// merge line that does not contain ":" with the previous
else lines.add(lines.removeLast() + '\n' + line);
return lines;
});
final m = new Map.fromIterable(lines.map((e) => e.split(':')),
key: (e) => e[0].trim(),
value: (e) => e[1].trim());
从未尝试过:您还可以使用dartdap(用于Dart的LDAP客户端库)。