在 Swift 问题中为 iOS 应用程序解析 JSON
Posted
技术标签:
【中文标题】在 Swift 问题中为 iOS 应用程序解析 JSON【英文标题】:Parsing JSON for iOS app in Swift Issue 【发布时间】:2016-03-25 19:59:10 【问题描述】:首先,这是一个菜鸟问题,所以任何有兴趣的人都可以回答我,因为我只是一个初学者。 因此,我需要从我的大学毕业生为我们的年度技术节创建的 api 中解析 JSON 数据。但是他们忘记为包含所有信息的数组命名。 1 他们忘记放名字了,角色类似于开头的“贷款”2 我正在使用 SwiftyJSON 解析数据,这是我的代码。
func getJSON()
let url = NSURL(string: baseURL)
let request = NSURLRequest(URL:url!)
let session = NSURLSession(configuration:NSURLSessionConfiguration.defaultSessionConfiguration())
let task = session.dataTaskWithRequest(request) (data, response, error) -> Void in
if error == nil
let swiftyJSON = JSON(data:data!)
let loan1 = swiftyJSON["loans"][0]["status"].stringValue
print(loan1)
else
print("There is an error")
task.resume()
所以我想知道可以用什么来代替“贷款”来让我的 JSON 解析启动并运行。我已经尝试过“”和“”来确定。 谢谢!
【问题讨论】:
目前我还不清楚完整的 JSON 结构是什么样的。你能发布整个 JSON 吗?或者至少是它的整体结构? 那个 JSON 与你的描述和图片不符。 我只是想知道上面代码中的“贷款”可以用什么代替,以便我可以解析数据,因为上面的api链接中的数组不包含数组名。跨度> 【参考方案1】:根据您发布的 JSON 字典,您没有访问任何现有的键,因此 loan1 不可能是 nil 以外的任何东西。根据第一张图片中的响应,您会得到一个字典数组。
[
"eid": 98,
"ename": "Lights. Camera. Tweet",
"sname": "IEEE GTBIT",
"ebanner": "http://s10.postimg.org/a11cezdft/12045587_1594466984176579_4873790458939193947_o.jpg",
"time": "1459189800854",
"category": "Literary & Management",
"desc": "Lights. Camera. Tweet! brings you a chance to win ..."
,
"eid": 45,
"ename": "Hack@GTBIT",
"sname": "android Techies",
"ebanner": "http://i.imgur.com/ANR84uk.jpg",
"time": "1459222200397",
"category": "Technical",
"desc": "Hack@GTBIT is a Software Hackathon where particip..."
,
等等……
如果这些数据都不是您要查找的数据,则说明您请求不正确,或者返回的数据格式不正确或未包含所有必要信息。
您可以使用 ID 或其他值发出新请求以检查状态;您可以通过 swiftyJSON[0]["eid"] 访问它——这将为您提供值 98。但是根据响应,您尝试访问的键值对是不正确的。 “贷款”键在顶层不存在,“状态”键也不存在。
【讨论】:
以上是关于在 Swift 问题中为 iOS 应用程序解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中为 iOS 应用程序实现 Facebook Audience Network 广告
在 iOS8/Swift 中为 UIDatePicker 设置文本颜色和字体
如何在 Swift 中为 iOS 10 和 iOS 9.3 初始化 NSManagedObject 子类