首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS迅捷3 xcode 8 parsingJson没有反射到数据库中

iOS迅捷3 xcode 8 parsingJson没有反射到数据库中
EN

Stack Overflow用户
提问于 2017-06-23 12:35:34
回答 1查看 56关注 0票数 0

我一直试图通过php将某些数据插入mysql。但是,我得到了一个编码为3840的错误。下面是我正在处理的代码:

代码语言:javascript
复制
 @IBAction func btnVerify(_ sender: Any) {

    let myUrl = URL(string: "http://kumbhkaran.co.in/ios_otp_check/verifyOTP.php");
    var request = URLRequest(url:myUrl!);
    request.httpMethod = "POST";

    let postString = "category=\(Category)&subcategory=\(SubCategory)&vendorname=\(ShopName)&managername=\(ManagerName)&managercontact=\(ManagerMobile)&mobile=\(UserName)&landline=\(Landline)&email=\(Email)&website=\(Website)&city=\(City)&address=\(Address)&area=\(Area)&pincode=\(Pincode)&rentowned=\(ShopStatus)&homedelivary=\(HomeDelivery)&pwd=\(Password)&marketing_ref=\(MarketingRef)&Working_Start_time=\(StartTime)&Working_End_time=\(EndTime)"

    request.httpBody = postString.data(using: String.Encoding.utf8);

    let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in

        DispatchQueue.main.async
            {

                //spinningActivity!.hide(true)

                if error != nil {
                    self.displayAlertMessage(messageToDisplay: error!.localizedDescription)
                    return
                }

                do {
                    let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary

                    if let parseJSON = json {

                        let userId = parseJSON["message"] as? String

                        if( userId != nil)
                        {
                            let myAlert = UIAlertController(title: "Alert", message: "Registration successful", preferredStyle: UIAlertControllerStyle.alert);

                            let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default){(action) in

                                self.dismiss(animated: true, completion: nil)
                            }

                            myAlert.addAction(okAction);
                            self.present(myAlert, animated: true, completion: nil)
                        } else {
                            let errorMessage = parseJSON["message"] as? String
                            if(errorMessage != nil)
                            {
                                self.displayAlertMessage(messageToDisplay: errorMessage!)
                            }

                        }

                    }
                } catch{
                    print(error)
                }
        }

    }

    task.resume()
}

然而,在所有这些代码之后,我得到了如下所述的错误:

错误Domain=NSCocoaErrorDomain Code=3840 "JSON文本没有从数组或对象和选项开始,以允许不设置片段。UserInfo={NSDebugDescription=JSON文本没有以数组或对象和选项开头,以允许不设置片段。

EN

回答 1

Stack Overflow用户

发布于 2017-06-23 12:45:07

试试这个:

将选项值设置为allowFragments而不是mutableContainers。可能json响应没有正确地形成。

代码语言:javascript
复制
  let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44721623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档