簡體   English   中英

如何在iOS上使用Swift在IOS上解析JSON(從PHP服務腳本發送)?

[英]How to Parse a JSON with Swift on IOS, sent from a PHP service script?

我在使用swift在IOS上解析從PHP腳本發送的JSON時遇到問題。 我本周剛剛開始學習IOS開發,並且之前從未使用過JSON,因此,對正確解析它的任何幫助將不勝感激。 我正在將mysql查詢的結果作為JSON發送到應用程序。 這是我的快速代碼和錯誤日志,您可以在其中查看http服務收到的對象。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let secondViewController:VC2 = segue.destinationViewController as! VC2

    let myUrl = NSURL(string: "myscriptaddress");

            let request = NSMutableURLRequest(URL:myUrl!);

            request.HTTPMethod = "POST";

            let postString = "condition=" + String(currentval);

            request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);

            secondViewController.mystring = "getting ready"

            let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
                data, response, error in
                guard data != nil else {
                    print("no data found: \(error)")
                    return
                }

                do {
                    if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {

                        print("Success")

                    } else {
                        let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
                        print("Error could not parse JSON: \(jsonStr)")

                    }
                } catch let parseError {
                    print(parseError)
                    let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
                    print("Error can't parse JSON: '\(jsonStr)'")

                }
            }

            task.resume()
}

現在是錯誤日志:

Error could not parse JSON: Optional([{"unidad":"sanfrancisco","capacidad":"15","uso":"5","telefono":"num"},{"unidad":"pediatricouniversitario","capacidad":"15","uso":"5","telefono":"num"},{"unidad":"sanjorge","capacidad":"15","uso":"7","telefono":"num"},{"unidad":"himacaguas","capacidad":"20","uso":"4","telefono":"num"},{"unidad":"himabayamon","capacidad":"20","uso":"8","telefono":"num"},{"unidad":"sanlucas","capacidad":"10","uso":"8","telefono":"num"},{"unidad":"auxiliomutuo","capacidad":"15","uso":"11","telefono":"num"}])

無法將JSON數據解包為字典類型。 提供的JSON字符串是一個對象數組。

在您的JSONObjectWithData調用中嘗試以下操作:

let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String : AnyObject]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM