【发布时间】:2021-05-30 10:47:59
【问题描述】:
我在返回列表大小时遇到了一个奇怪的问题。
服务器有 List<String> 作为返回类型。作为对颤振请求的响应,我得到了字符串。
I/flutter ( 4454): ["Email is already taken","Phone number is already taken","Username is already taken"]
I/flutter ( 4454): [Email is already taken, Phone number is already taken, Username is already taken]
I/flutter ( 4454): 3
I/flutter ( 4454): false
所以我将其转换为列表,删除 " 和 [ 和 ] 像这样:
print(response.body);
List<String> list = response.body
.substring(1, response.body.length - 1)
.replaceAll('"', '')
.split(',')
.toList();
print(list);
print(list.length);
print(list.length == 0);
这里一切都是正确的,但是当我没有错误时(打印后):
I/flutter ( 4454): []
I/flutter ( 4454): []
I/flutter ( 4454): 1
I/flutter ( 4454): false
尽管列表没有元素,但它返回 1 大小。
你能告诉我我做错了什么吗?还有为什么 server 端返回 List<String> 时 response.body 包含 String ?
【问题讨论】: