目前,我正在使用alamofire从服务器获取数据。 API将返回
我的目标是检查数据是否为空
空括号
[()]
或将返回
[(
{
"name": "joker",
"age": 12,
}
)]
如果我data[0]
,则会显示()
,如何检查()
是否为空或有数据
答案 0 :(得分:0)
如果 yu确定您的数据将包含在[()]中,您只需修剪字符串
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
$guard = array_get($exception->guards(), 0);
switch ($guard) {
case 'admin':
$login = 'admin.login';
break;
default:
$login = 'login';
break;
}
return redirect()->guest(route($login));
}
并检查trimmedString是否为空。
答案 1 :(得分:0)
只需使用data.count检查为空。我认为您在控制台中使用了po
,它将打印extra()。
答案 2 :(得分:0)
如果您的数据为空,即[()]
,那么data.count
将返回1
,因为它包含single element that is empty
。
要检查包含的元素是否也为空,您可以使用:
data.first?.isEmpty
isEmpty
可用于任何sequence type
。返回true
序列为空,否则为false
。
答案 3 :(得分:0)
它似乎不是有效的JSON
无论如何都试试这个:
/// <dataResponse> is your response sting...
let charSet = CharacterSet.init(charactersIn: "[()]")
let trimmedString = dataResposne.trimmingCharacters(in: charSet)
if trimmedString.isEmpty {
/// Empty Response
}
else {
/// Non Emtpy Response
}