尝试在 swift 中解析 JSON 但无法正常工作

Trying to Parse JSON in swift but not working

我正在尝试解析一些 JSON,这是我直接转到 URL 时返回的内容:

[{"Password":"whatever1"}]

我的代码能够正确接收数据(当我调试变量 "data" 具有上述 JSON 时)但是当尝试解析它时,它不起作用。我认为这可能与方括号有关,因为我一直在解析其他没有方括号的 JSONs 并且效果很好。

这是我的代码:

func SignIn (username: String, password: String, completion: @escaping (Bool)->())
{
    let url = URL(string: "http://<myIP>/API/SignIn.php?username=\(username)");

    let task = URLSession.shared.dataTask(with: url!)
    { (data, response, error) in
        if let data = data
        {
            do
            {
                // Convert the data to JSON
                let jsonSerialized = try JSONSerialization.jsonObject(with: data, options: []) as? [String : Any]

              //  print( jsonSerialized)
                if let json = jsonSerialized, let result = json["Password"]
                {
                    print(result)
                    if (String(describing: result) == password)
                    {
                        completion(true)
                    }
                    else
                    {
                        completion(false)
                    }
                    // TODO: password is wrong,
                    // TODO: username is wrong
                    // TODO: else if timeout
                }
            }
            catch let error as NSError {
                print(error.localizedDescription)
                completion(false)
            }
        }
        else if let error = error
        {
            print(error.localizedDescription)
            completion(false)
        }
    }
    task.resume()

}

将代码重写为:

let jsonSerialized = try JSONSerialization.jsonObject(with: data, options: []) as? [[String : Any]]

这是必需的,因为您的 JSON 响应是一组字典,就像其他人提到的那样。

使用以下方式访问结果:

let result = json.first["Password"]