我如何查看()的内容

时间:2017-09-21 09:11:38

标签: ios swift

目前,我正在使用alamofire从服务器获取数据。 API将返回

我的目标是检查数据是否为空

空括号

[()]

或将返回

[(
  {
    "name": "joker",
    "age": 12,  
  }

)]

如果我data[0],则会显示(),如何检查()是否为空或有数据

4 个答案:

答案 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
    }