我有一个从数据库中作为字符串提取的字符串列表
[name 1, name2, name3, ...]
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其转换为:
'name 1', 'name2', 'name3', '...'
Run Code Online (Sandbox Code Playgroud)
到目前为止还没有成功。我获取数据的方法。该方法很好,因为我事先将它用于代码的其他部分。
Future<List<String>> getNames() async {
var url = _api + "get_names.php?key=" + _key;
http.Response response = await http.get(url);
var resp = jsonDecode(response.body);
return resp.map<String>((m) => m['names'] as String).toList();
}
Run Code Online (Sandbox Code Playgroud)
列表作为字符串从数据库中提取。
基本上我正在使用表单构建器代码的一部分,该代码使用初始值作为动态。因此,如果我设置initialValue:[widget.names]并且widget.names包含'name1','name2',如果它是字符串列表就可以了,但它当然需要单引号或双引号并用逗号分隔。
谢谢
void main() {
final input = '[name 1, name2, name3, ...]';
final removedBrackets = input.substring(1, input.length - 1);
final parts = removedBrackets.split(', ');
var joined = parts.map((part) => "'$part'").join(', ');
print(joined);
}
Run Code Online (Sandbox Code Playgroud)
使用: https: //api.flutter.dev/flutter/dart-core/String/split.html
印刷:
'name 1', 'name2', 'name3', '...'
Run Code Online (Sandbox Code Playgroud)
也就是说......也许您应该找到一种更好的方法来获取数据。也许作为 Json 或其他东西,所以你不必重新发明序列化。例如,如果“name 1”中有逗号,会发生什么?或者说是达达尼昂?
| 归档时间: |
|
| 查看次数: |
6121 次 |
| 最近记录: |