2017-02-14 69 views
0

我有這些使用PHP mysqli生成的JSON值。如何將JSON數組值賦給Swift 3.0中的變量?

{"valid":"1","name":"NAME 1","dept":"IT"} 
{"valid":"1","name":"NAME 2","dept":"IT"} 
{"valid":"1","name":"NAME 3","dept":"PSD"} 
{"valid":"1","name":"NAME 4","dept":"PSD"} 

但在swift 3.0中,我只知道在x代碼中手動聲明一個數組值如下。

import UIKit 
class ViewController: UIViewController{ 

    @IBOutlet var divisionLbl: UITextField! 

    var division = ["IT","FAD","PSD"] 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
} 

我的目標是檢索JSON值並將其賦值給變量。

可能嗎?

感謝。

+0

你能告訴你怎麼做API請求,你是如何得到這個JSON的代碼。 –

回答

0

您可能想要使用JSONSerialization類'jsonObject(with:options :)方法。

class func jsonObject(with data: Data, options opt: JSONSerialization.ReadingOptions = []) throws -> Any 

假設你已經有了JSON數據對象,這樣的事情應該工作:

// data = your JSON data 

do { 
    var assignedData = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) 
    // continue... 
} catch { 
    print("Error: \(error)") 
    // Handle exception 
} 
+0

我可以在do語句之外聲明變量嗎? – Jamilah

+0

@Jamilah是的,你可以,但我認爲在這種情況下沒有多大意義。如果你這樣做,你需要聲明它是可選的,任何?,然後處理,因爲jsonObject(with:options :)返回一個Any。我只是把你所有的代碼放在try語句下的do語句中處理「assignedData」。 – icy1007