使用iOS和swift从JSON文件获取数据

时间:2016-08-08 11:04:35

标签: ios json swift

我有这个JSON文件:

      var Point :

      [   
         {
         "id": 1,
         "name": "A",
         "LastUpdate": 1468011600,
         "position": [36.8656974, 10.1687314]},

         {
         "id": 1,
         "name": "A",
         "LastUpdate": 1468397003,
         "position": [36.9009882, 10.3009531]
         },
         {
         "id": 1,
         "name": "A",
         "LastUpdate": 1467590490,
         "position": [37.1691357, 10.0349865]
         }
          ]

我需要在viewController中读取这些数据,我尝试使用 SwiftyJSON 但是我失败了。 PS:我的代码是 swift 而不是Objective-C 任何解决方案?

3 个答案:

答案 0 :(得分:1)

为什么不简单地使用Alamofire。它是简单的框架,你可以使用Cocoa pod安装它。以下是使用Alamofire的示例:

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
         .responseJSON { response in
             print(response.request)  // original URL request
             print(response.response) // URL response
             print(response.data)     // server data
             print(response.result)   // result of response serialization

             if let JSON = response.result.value {
                 print("JSON: \(JSON)")
             }
         }

答案 1 :(得分:0)

尝试将字符串转换为NSDictionary

func convertStringToDictionary(text: String) -> [String:AnyObject]? {
  if let data = text.dataUsingEncoding(NSUTF8StringEncoding) {
    do {
        return try NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String:AnyObject]
    } catch let error as NSError {
        print(error)
    }
  }
  return nil
}

要从提交的代码中删除语法错误,请用方括号替换花括号。

var Point = [   
     [
     "id": 1,
     "name": "A",
     "LastUpdate": 1468011600,
     "position": [36.8656974, 10.1687314]],

     [
     "id": 1,
     "name": "A",
     "LastUpdate": 1468397003,
     "position": [36.9009882, 10.3009531]
     ],
     [
     "id": 1,
     "name": "A",
     "LastUpdate": 1467590490,
     "position": [37.1691357, 10.0349865]
     ]
  ]

答案 2 :(得分:0)

您可以使用this great library。这个库提供从JSON到Dictionary的解析非常简单(只需1-2行代码)。

P.S。 我还建议使用this library将Dictionary映射到Object

<强>更新 在podfile中安装swiftyJSON

platform :ios, '8.0'
use_frameworks!

pod 'SwiftyJSON'

然后sudo pod install