SWIFT 2: Loop through JSON array

元气小坏坏 提交于 2019-12-17 18:28:40

问题


I am getting this json from a url, the return JSON is:

[{"id":1,"name":"Mary"},{"id":2,"name":"John"}]

I want to display the names in a TableView on IOS.

My Swift2 Code is:

class ViewController: UIViewController, UITableViewDelegate {

    var NumberOfPersons = 0

    var NameOfPerson = [String]()

    override func viewDidLoad() {
        super.viewDidLoad()

        parseJSON()

    }

    func parseJSON(){

        do {

            let data = NSData(contentsOfURL: NSURL(string: "http://zzzzzz.com/API/name.php")!)

            let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)

            let NumberOfPersons = jsonResult.count

           **LOOP THROUGH THE JSON ARRAY**

        } catch let error as NSError {

            print(error)

        }
    }
}

How can I loop through the JSON array to put which name in a cell on a Table View?


回答1:


The variable jsonResult is an array of dictionaries, so you can loop through the array with

for anItem in jsonResult as! [Dictionary<String, AnyObject>] { // or [[String:AnyObject]]
  let personName = anItem["name"] as! String
  let personID = anItem["id"] as! Int
// do something with personName and personID
}

In Swift 3 the unspecified JSON type has been changed to Any

for anItem in jsonResult as! [Dictionary<String, Any>] { ... // or [[String:Any]]



回答2:


make the JSON results in a DICT and get it with a loop "for (key, value)"




回答3:


If your is finally

let jsonResult = [{"id":1,"name":"Mary"},{"id":2,"name":"John"}]
var jsonDictResult[String: Int] = jsonResult;

Updated:

let jsonResult: AnyObject? = NSJSONSerialization.JSONObjectWithData(data,
    options: NSJSONReadingOptions.AllowFragments,
    error:&parseError)

Updated:

Make the JSON results in a DICT and get it with a loop "for (key, value)"




回答4:


let jsonResult: AnyObject? = NSJSONSerialization.JSONObjectWithData(data,
  options: NSJSONReadingOptions.AllowFragments,
  error:&parseError)


来源:https://stackoverflow.com/questions/31858531/swift-2-loop-through-json-array

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!