Downloading and parsing json in swift

前端 未结 9 1205
独厮守ぢ
独厮守ぢ 2020-12-02 05:37

I\'m trying to get the JSON from a website and parse it before putting it inside of an iOS view.

Here\'s my code;

func startConnection(){
        le         


        
9条回答
  •  再見小時候
    2020-12-02 06:04

    This code works fine for me. Just init data property with data = NSMutableData() and write NSURLConnectionDelegate here class ViewController: UIViewController, NSURLConnectionDelegate

    import UIKit
    
    class ViewController: UIViewController, NSURLConnectionDelegate {
    
        @lazy var data = NSMutableData()
    
        override func viewDidLoad() {
            super.viewDidLoad()
        }
    
        override func viewWillAppear(animated: Bool) {
            super.viewWillAppear(animated)
            startConnection()
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    
        func startConnection(){
            let urlPath: String = "http://binaenaleyh.net/dusor/"
            var url: NSURL = NSURL(string: urlPath)
            var request: NSURLRequest = NSURLRequest(URL: url)
            var connection: NSURLConnection = NSURLConnection(request: request, delegate: self, startImmediately: false)
            connection.start()
        }
    
        func connection(connection: NSURLConnection!, didReceiveData data: NSData!){
            self.data.appendData(data)
        }
    
        func buttonAction(sender: UIButton!){
            startConnection()
        }
    
        func connectionDidFinishLoading(connection: NSURLConnection!) {
            var err: NSError
            // throwing an error on the line below (can't figure out where the error message is)
            var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
            println(jsonResult)
        }
    }
    

    here is output:

    {
        "ders sayisi" = 15;
        dersler =     (
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 2;
                3 = "CEE 102";
                4 = "Logic Circuits";
                5 = 3;
                6 = "6.00";
                7 = "YRD.DO\U00c7.DR.INDRIT MYDERRIZI";
                8 = 0;
                9 = IA;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 2;
                3 = "CIP 102";
                4 = "Civic Involment Projects";
                5 = 0;
                6 = "2.00";
                7 = "SE\U00c7\U0130L AVCI/BA\U015eAK CANSU AK\U00c7EL\U0130K/\U00c7A\U011eLA UNGUN";
                8 = 0;
                9 = P;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 2;
                3 = "COME 108";
                4 = "Algorithms and Programming II";
                5 = 3;
                6 = "6.00";
                7 = "\U00d6\U011eR.G\U00d6R.DR.B\U0130RSEN G\U00dcLDEN \U00d6ZDEM\U0130R";
                8 = 41;
                9 = C;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 2;
                3 = "COME 335";
                4 = "Mobile Application Development";
                5 = 3;
                6 = "5.00";
                7 = "\U00d6\U011eR.G\U00d6R.OZAN UYSAL";
                8 = TeacherHold;
                9 = TeacherHold;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 2;
                3 = "ENG 112";
                4 = "Advanced English For Engineering and Natural Sciences I";
                5 = 2;
                6 = "3.00";
                7 = "OKT.ERIC BEECHER";
                8 = 48;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 2;
                3 = "PHYS 102";
                4 = "Physics II";
                5 = 4;
                6 = "5.00";
                7 = "YRD.DO\U00c7.DR.\U00d6ZG\U00dcL KURTULU\U015e \U00d6ZT\U00dcRK";
                8 = "-1";
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = BAHAR;
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 2;
                3 = "T\U00dcRK 102";
                4 = "T\U00fcrk Dili II";
                5 = 2;
                6 = "2.00";
                7 = "\U00d6\U011eR.G\U00d6R.\U015eER\U0130FE GEZG\U0130N";
                8 = 10;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 1;
                3 = "CHEM 101";
                4 = Chemistry;
                5 = 3;
                6 = "5.00";
                7 = "YRD.DO\U00c7.DR.AY\U015eEN TULPAR";
                8 = TeacherHold;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 1;
                3 = "CIP 101";
                4 = "Civic Involment Projects";
                5 = 0;
                6 = "1.00";
                7 = "YRD.DO\U00c7.DR.FATMA G\U00dcL AYGEN/Staff CIP1/SE\U00c7\U0130L AVCI/D\U0130LAYDA EM\U0130R/BA\U015eAK CANSU AK\U00c7EL\U0130K/\U00c7A\U011eLA UNGUN";
                8 = TeacherHold;
                9 = P;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 3;
                12 = "";
                2 = 1;
                3 = "COME 107";
                4 = "Algorithms and Programming I";
                5 = 4;
                6 = "5.00";
                7 = "PROF.DR.M\U0130TAT UYSAL";
                8 = TeacherHold;
                9 = "C+";
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 1;
                3 = "ENG 101";
                4 = "Advanced English";
                5 = 2;
                6 = "3.00";
                7 = "OKT.EZG\U0130 ARGUN";
                8 = TeacherHold;
                9 = B;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 1;
                12 = "";
                2 = 1;
                3 = "IUL 100";
                4 = "Introduction to University Life";
                5 = 0;
                6 = "1.00";
                7 = "YRD.DO\U00c7.DR.FATMA G\U00dcL AYGEN";
                8 = TeacherHold;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 2;
                12 = "";
                2 = 1;
                3 = "MATH 111";
                4 = "Calculus I";
                5 = 4;
                6 = "5.00";
                7 = "DO\U00c7.DR.G\U00dcRSEL YE\U015e\U0130LOT";
                8 = TeacherHold;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 4;
                12 = "";
                2 = 1;
                3 = "PHYS 101";
                4 = "Physics I [CNE]";
                5 = 4;
                6 = "5.00";
                7 = "YRD.DO\U00c7.DR.AR\U0130F \U00d6ZBAY";
                8 = TeacherHold;
                9 = F;
            },
                    {
                0 = "2013-2014";
                1 = "G\U00dcZ";
                10 = TeacherHold;
                11 = 9;
                12 = "";
                2 = 1;
                3 = "T\U00dcRK 101";
                4 = "T\U00fcrk Dili I [CNE]";
                5 = 2;
                6 = "2.00";
                7 = "\U00d6\U011eR.G\U00d6R.ARZU AYG\U00dcN";
                8 = TeacherHold;
                9 = F;
            }
        );
    }
    

提交回复
热议问题