2016-03-25 33 views
0

首先,这是一个noob问题,所以任何感兴趣的人都可以回答我,因为我只是一个初学者。 因此,我需要从我的大学老年人为我们的年度技术节创建的api解析JSON数据。但他们忘了给包含所有信息的数组添加一个名字。 1 他们忘了把名字和角色类似于“贷款”在开始2 我正在使用SwiftyJSON解析数据,这里是我的代码。在Swift中解析iOS应用的JSON问题

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解析和运行。我已经尝试过“”和“”以确保。 谢谢!

+0

目前还不清楚完整的JSON结构是什么样子。你可以发布整个JSON吗?或者至少是它的总体结构? – James

+0

这个JSON并不符合你的描述和图像。 – James

+0

我只想知道在上面的代码中可以用什么替代“贷款”,这样我就可以解析数据,因为上面的api链接中的数组不包含数组名称。 –

回答

0

根据您发布的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": "[email protected]", 
    "sname": "Android Techies", 
    "ebanner": "http://i.imgur.com/ANR84uk.jpg", 
    "time": "1459222200397", 
    "category": "Technical", 
    "desc": "[email protected] is a Software Hackathon where particip..." 
    }, 

等等

如果没有这个数据是你要找的,你不要求什么正确或返回的数据没有被正确格式化或包括所有必要的信息。

可能你可以提出一个新的请求来检查使用ID或其他值的状态;你可以通过swiftyJSON [0] [“eid”]来访问它 - 这会让你的值为98.但是你试图访问的键值对基于响应是不正确的。 “贷款”键不存在于顶层,“状态”键也不存在。