gpt4 book ai didi

json - 解析 JSON 数组

转载 作者:行者123 更新时间:2023-11-28 07:03:19 24 4
gpt4 key购买 nike

我正在研究一种在我的应用程序中从网络解析 json 的方法。

来源:http://api.randomuser.me/

我的代码:

var bytes: NSMutableData?

@IBAction func loadJson(sender: AnyObject) {

let request = NSURLRequest(URL: NSURL(string: "http://api.randomuser.me/")!)

let loader = NSURLConnection(request: request, delegate: self, startImmediately: true)

}

func connection(didReceiveResponse: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {

self.bytes = NSMutableData()

}

func connection(connection: NSURLConnection!, didReceiveData conData: NSData!) {

self.bytes?.appendData(conData)

}

func connectionDidFinishLoading(connection: NSURLConnection!) {

let jsonResult: Dictionary = NSJSONSerialization.JSONObjectWithData(self.bytes!, options: NSJSONReadingOptions.MutableContainers, error: nil) as! Dictionary<String, AnyObject>

let results: NSArray = jsonResult["results"]! as! NSArray

println(results)

for result in results {

// Works
println(result)

// Works
println(result["seed"])

// Does not work !!! why?
println(result["user"]["email"])

}

}

为什么我无法从数组中获取电子邮件?

如果您愿意,可以查看上面链接中的 json。

最佳答案

通过使用 SwiftyJSON您可以通过这种方式轻松处理 JSON 数据:

@IBAction func loadJson(sender: AnyObject) {

let baseURL = NSURL(string: "http://api.randomuser.me/")
let userData = NSData(contentsOfURL: baseURL!)

let json = JSON(data: userData!)
let seeds = json["results"][0]["seed"].stringValue
let email = json["results"][0]["user"]["email"].stringValue
println(seeds) //1bbefb89fc47c81501
println(email) //luz.hidalgo44@example.com
}

希望这会有所帮助。

关于json - 解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31501810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com