JSON строка в формате UUID - PullRequest
1 голос
/ 17 января 2020

У меня есть JSON вызов, который возвращает UUID "E07ABFD8-429B-4A5A-AEDB-EE4C9E9A7C74", который является SessionID. Я печатаю JSON, так что я знаю, что это не пусто. Я хотел бы записать SessionID в таблицу CoreData и поле в формате UUID.

let sessionID = UUID(uuidString: JSON(dictMain)["SESSIONID"].stringValue)!

Я не могу преобразовать JSON в формат UUID, чтобы поместить его в базовые данные, приведенная выше переменная возвращает пустое значение.

SVProgressHUD.show()
        SVProgressHUD.setDefaultMaskType(.black)
        self.view.endEditing(true)

        let apiEndpoint: String = "https://xxx.xxx.net/iocserver/MobileApp.aspx?action=MobileApp"
        //CompanyNameDD.selectedIndex
        let headers = HTTPHeaders(["Content-Type" : "application/json","WebSiteAppID":self.PassSiteId])
        var param = [String: Any?]()
        param["Command"] = "ValidateUser"
        var cellNo = KeychainSwift().get("userMobileNumber") == nil ? "" : KeychainSwift().get("userMobileNumber")!//PassMobileNumber
        cellNo.removeFirst()
        let strParam = jsonToString(json: ["CELLNO":"+27\(cellNo)","PIN":self.OTPfield.text!])
        param["Data"] = strParam?.base64Encoded()
        param["Signature"] = strParam?.base64Encoded()?.sha256Signature()
        AF.request(URL(string: apiEndpoint)!, method: .post, parameters: param as Parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in

            SVProgressHUD.dismiss()

            switch response.result {
            case .success(let value):
                if let json = value as? [String: Any] {
                    print(json)

                    let data = JSON(json)

                    if data["Status"].stringValue == "0" {
                        let alert = UIAlertController(title: "Error", message: data["Message"].stringValue, preferredStyle: .alert)
                        alert.addAction(UIAlertAction(title: "Ok", style: .destructive) { _ in
                            return
                        })
                        self.present(alert, animated: true)
                    }
                    else {
                        let jsonStr = data["Data"].stringValue.base64Decoded()

                        let dict = convertToDictionary(text: jsonStr!)

                        if let dictMain = dict {


                            let sessionID = UUID(uuidString: JSON(dictMain)["SESSIONID"].stringValue)!

                            self.manageUserAccount.CreateUserAccount(NameSurname: (JSON(dictMain)["FNAME"].stringValue + " " + JSON(dictMain)["SNAME"].stringValue), CompanyOffice: self.PassCompanyOffice, EmployNo: JSON(dictMain)["EMPNO"].stringValue, CurrencyBalance: self.PassCurrencyBalance, AccountPin: self.OTPfield.text!, SessionID: sessionID, CompanyOfficeID: self.PassSiteId)
                            self.navigationController?.popToRootViewController(animated: true)

                        }
                    }
                }
            case .failure(let error):
                print(error)
                let alert = UIAlertController(title: "Error", message: error.localizedDescription, preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "Ok", style: .destructive) { _ in
                    return
                })
                self.present(alert, animated: true)
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...