gpt4 book ai didi

swift - 不断出现EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) 错误时如何在Swift中解析JSON?

转载 作者:行者123 更新时间:2023-11-28 13:20:41 28 4
gpt4 key购买 nike

我正在尝试访问 GitHub 统计信息,来自 API 的信息返回为

[ 
{"name" : "Peter"},
{ "name" : "Daniel"},
]

每次我尝试解析它时,都会收到 EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) 错误。有没有一种简单的方法可以使用 Swift 解析它?

最佳答案

在解析时尝试更传统的方法,我尝试使用:

//Set up the network request, asynchronously
let urlPath: String = "https://api.github.com/users/" + userName
var url: NSURL = NSURL(string: urlPath)
var request: NSURLRequest = NSURLRequest(URL: url)
let queue:NSOperationQueue = NSOperationQueue()

//Make the asynchronous request
NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in

var err: NSError


//Store the JSON data from the Github api
var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary

这给了我一个 EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) 错误

于是,我尝试了另一种解析方式

var url: NSURL = NSURL(string: urlString)
var request: NSURLRequest = NSURLRequest(URL: url)
let queue: NSOperationQueue = NSOperationQueue()


//Store the JSON data from the Github api
var jsonResult: NSData = NSData(contentsOfURL: url)

var error:NSError?

// Retrieve Data
var JSONData = NSData.dataWithContentsOfURL(url, options: NSDataReadingOptions(), error: &error)
// Create another error optional
var jsonerror:NSError?
// We don't know the type of object we'll receive back so use AnyObject
let swiftObject:AnyObject = NSJSONSerialization.JSONObjectWithData(JSONData, options: NSJSONReadingOptions.AllowFragments, error:&jsonerror)!
// JSONObjectWithData returns AnyObject so the first thing to do is to downcast this to a known type
if let nsDictionaryObject = swiftObject as? NSDictionary {
if let swiftDictionary = nsDictionaryObject as Dictionary? {
println(swiftDictionary)
}
}
else if let nsArrayObject = swiftObject as? NSArray {
if let swiftArray = nsArrayObject as Array? {
println(swiftArray)
}
}

这个方法让我能够解析信息

关于swift - 不断出现EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) 错误时如何在Swift中解析JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198252/

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