2016-08-08 20 views
0

我有这个JSON文件:获取从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:I code with swift and not objective-C 任何解决方案?

+0

您可以使用'NSJSONSerialization'将字符串JSON转换为数组。 – Larme

+0

你能在这里提供一些代码吗? –

+0

你有没有遇到过NSJSONSerialization – Blisskarthik

回答

0

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

P.S. 此外,我建议使用this library来映射字典对象

UPDATE 为了然后sudo pod install

+0

我不能安装swiftyJSON :( -bash:pod:命令未找到 –

+0

您可以从github或[install pod]下载源代码(https://cocoapods.org) – RrrangeTop

+0

我安装了COCOAPODS,然后创建了podfile,那么? –

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] 
    ] 
    ] 
+0

反序列化问题中的特定JSON将返回'nil'。 – vadian

+0

是的,因为那不是一个有效的json对象。它的根源不见了。尝试像这样包裹它。 '{“root”:“你现有的字符串”}'。更具体地说,'{“root”:“[{”id“:1,”name“:”A“,...},...]”}'。 – LIH

+1

除了JSON与变量声明不匹配的混淆外,JSON的根对象不需要是字典。 – vadian

0

为什么不直接使用Alamofire在podfile

platform :ios, '8.0' 
use_frameworks! 

pod 'SwiftyJSON' 

安装swiftyJSON。这是一个简单的框架,你可以使用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)") 
      } 
     }