我正在使用Alamofire獲取一些JSON數據,而不是將所有內容硬編碼,我想知道如何簡單地將所有內容包含在數組中。獲取JSON中的所有項目並將它們放入數組中
目前,這是JSON文件:
{"One":"Item1","Two":"Item2","Three":"Item3","Four":"Item4","Five":"Item5"}
我的SWIFT代碼:
var pickerData: [String] = [String]() //Array of content.
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "https://example.com/file.json").responseJSON{ (response) -> Void in
if let JSON = response.result.value{
let One = JSON["One"] as! String
let Two = JSON["Two"] as! String
let Three = JSON["Three"] as! String
let Four = JSON["Four"] as! String
let Five = JSON["Five"] as! String
self.mypickerview.delegate = self
self.mypickerview.dataSource = self
self.pickerData = [One, Two, Three, Four, Five]
...
我能不使他們硬編碼,這樣我可以有我的文件,這樣,它會仍然工作和包括在JSON的一切,即使我在未來增加更多:
{"Item1","Item2","Item3","Item4","Item5","Item6"}
這與你的快速編程沒有任何關係。你需要改變你的JSON輸出結構。將它放在一個帶有固定標題的循環中。 – jo3birdtalk
對於不確定大小的有序集合,您的JSON應該使用數組來構造,例如:{「items」:[「Item1」,「Item2」,「Item3」,「Item4」,「Item5」] }' –