2017-09-04 11 views
-5

私はSwift 3でJSONデータを解析しようとしています。全体を印刷しようとすると問題があります。私は問題が何であるかを理解することはできませんNSURLSessionの名前がURLSessionに変更されました

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var Jt1Label: UILabel! 
    @IBOutlet weak var Jt2Label: UILabel! 
    @IBOutlet weak var Jt3Label: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //1 
     let urlAsString = "http://tvlaayoune.ma/youtubeJT" 
     let url = NSURL(string: urlAsString)! 
     let urlSession = NSURLSession.sharedSession() 

     //2 
     let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in 
      if (error != nil) { 
       println(error.localizedDescription) 
      } 
      var err: NSError? 

      // 3 
      var jsonJt = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as! NSDictionary 
      if (err != nil) { 
       println("JSON Error \(err!.localizedDescription)") 
      } 

      // 4 
      let nameJt1: String! = jsonJt["nameJt1"] as! String 
      let nameJt2: String! = jsonJt["nameJt2"] as! String 
      let nameJt3: String! = jsonJt["nameJt3"] as! String 

      let codeVideo: String! = jsonJt["codeVideo"] as! String 

      dispatch_async(dispatch_get_main_queue(), { 
       Jt1Label.text = nameJt1 
       Jt1Labe2.text = nameJt2 
       Jt1Labe3.text = nameJt3 

      }) 
     }) 
     // 5 
     jsonQuery.resume() 
    } 
} 

{ 
    "nameJt1": "01/07/1985", 
    "codeVideo1": "_NfijT6mt6A", 

    "nameJt2": "02/07/1985", 
    "codeVideo1": "XCabcwrxbNc", 

    "nameJt3": "03/07/1985", 
    "codeVideo3": "XCabcwrxbNc" 
} 

これは、ファイルを解析するために私のコードは次のとおりです。

この

は私のJSONファイルのコンソール出力です。誰かが私に手を差し伸べることができる?前もって感謝します。

これは、コードを示すスクリーンショットである:

enter image description here

+0

問題は何ですか。 JSONを解析するには?あなたが期待したことを教えてくれれば助けになるでしょう。エラーメッセージは何を意味していますか?説明の中にあります。 // 1、// 2、// 3からコード全体に散らばっていますが、チュートリアルで見つけたコードを貼り付けて、それを修正しようとした疑いがあります。 – Abizern

+0

赤いアイコンをクリックするだけで、Xcodeは修正を提案します。そして、はい、 'NS'という接頭辞が削除され、現在はURLSession –

答えて

1

エラーがあなたのJSONデータ構造とは関係ありません。

コード欄の赤い丸をクリックすると、NSURLSessionがURLSessionに置き換えられます。これを手動で行うこともできます。

SwiftとJSONを手助けすることができる多くのリソースがありますが、この記事を見てください - それは両方のトピックを扱い、NSURLSessionからURLSessionへの変更に関するいくつかのコンテンツを含みます。

https://grokswift.com/updating-nsurlsession-to-swift-3-0/

+2

です。 (Voted。)Xcodeはあなたのために変更を加えることさえ可能性が高いでしょう。 OPには、Objective-CのバージョンではなくSwiftネイティブタイプを使用する必要があるので、 'NSDictionary'を' Dictionary'に置き換えてください。 '[String:Any]'を使用して、キーを 'String'にキャストすることなくキー/値のペアを取得できるようにすることもできます。 –

関連する問題