用SwiftyJSON解析JSON

问题描述:

我正在从事一个项目,我从网站获取的JSON文件没有任何(键)让我开始解析。所以,当我在代码中使用该行时,我将从JSON文件中获取所有信息。我的问题是,我需要进一步解析它,所以我可以填充UITableView,我似乎不能解析它是更具体。用SwiftyJSON解析JSON

这是从我的JSON代码

let externalURL = "http://jsonplaceholder.typicode.com/users" 

func getJSON(){ 
      let url = URL(string: externalURL) 
      let request = NSURLRequest(url: url! as URL) 
      let session = URLSession(configuration:URLSessionConfiguration.default) 
      let task = session.dataTask(with: request as URLRequest) {(data, response, error) -> Void in 
       if error == nil { 
        let swiftyJSON = JSON(data: data!) 
        let userInfo = swiftyJSON[].arrayValue 
        print(userInfo) 
    } 
       else{ 
        print("There was an error") 
       } 
      } 
      task.resume() 
     } 
+0

'我的问题是,我需要进一步解析它,所以我可以填充一个UITableView,我似乎不能解析它是更具体。“我们没有足够的信息来帮助你。什么是JSON模式。你想如何解析“更具体?” – JAL

+0

我只想从JSON获取几位信息(即姓名,电话和电子邮件)。 '[ { “ID”:1, “名”: “琳恩·格雷厄姆”, “用户名”: “布雷”, “电子邮件”: “[email protected]”, “地址”:{ “street”:“Kulas Light”, “suite”:“Apt.555”, “city”:“Gwenborough”, “zipcode”:“92998-3874”, “geo”:{ “lat” :“-37.3159”, “lng”:“81.1496” } }]' – Ingelbert

+0

如果查看URL [http://jsonplaceholder.typicode.com/users],则可以查看整个文件。 – Ingelbert

甲起点:

let swiftyJSON = JSON(data: data!) 
if let userInfo = swiftyJSON.array { 
    for user in userInfo { 
    print(user["name"].string, user["email"].string, user["phone"].string) 
    if let address = user["address"].dictionary { 
     print(address["city"]?.string) 
    } 
    } 
} 

所有打印的值是自选。

+0

谢谢。那么如何将这些信息添加到“UITableView,UITableViewCell”? – Ingelbert

+0

这取决于你的数据源模型(字典,自定义结构/类或其他)。 – vadian

+0

上面的代码将它放到字典中,或者它现在仍然在数组中。字典更容易正确? – Ingelbert