2014-11-24 2 views
2

Я пытаюсь получить доступ к данным JSON в моем быстром коде, и у меня возникают проблемы с его возвратом. Вот мой JSON код:Доступ к данным JSON в swift

[ 
    { 
     "id": "1", 
     "isImage": "0", 
     "name": "test name", 
     "post": "test post", 
     "time": "10:27", 
     "ip": "192.168.1.1", 
     "city ": "Columbus", 
     "latlong": "39.896418,-82.9751105", 
     "clientID": "clientID", 
     "popularity": "300" 
    }, 
    { 
     "id": "2", 
     "isImage": "0", 
     "name": "test name two", 
     "post": "test post two", 
     "time": "13:37", 
     "ip": "192.168.1.1", 
     "city ": "Columbus", 
     "latlong": "39.896418,-82.9751105", 
     "clientID": "clientID", 
     "popularity": "69" 
    } 
    ] 

Я просто хотел бы знать, как получить доступ к данным с помощью их ключей json[0].['id'] или? настоящее время я использую этот json.swift module и пытается получить доступ к данным с

func jsonHandle(data: NSString) { 
      var parsedJSON = JSON(data) 
      var id = parsedJSON[0].["id"] 
      NSLog("\(id)") 
    } 

но ничего не возвращает. Есть идеи?

ответ

2

Вы можете вызвать JSON(string:...) исполнение и устранить период между [0] и ["id"]:

func jsonHandle(data: NSString) { 
    let parsedJSON = JSON(string: data) 
    var id = parsedJSON[0]["id"] 
    NSLog("\(id)") 
} 

Или, если у вас NSData вы могли бы использовать JSON(data: ...) исполнение:

func jsonHandle(data: NSData) { 
    let parsedJSON = JSON(data: data) 
    let id = parsedJSON[0]["id"] 
    NSLog("\(id)") 
} 

Или , если вы хотите использовать родной NSJSONSerialization, а не эту стороннюю библиотеку, вы можете:

func jsonHandle(data: NSData) { 
    var error: NSError? 
    let parsedJSON = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error) as NSArray 
    let id = parsedJSON[0]["id"] 
    NSLog("\(id)") 
} 

Лично я склоняюсь к стандартному подходу NSJSONSerialization, поскольку это проверенный подход, но это ваш звонок.

+0

Именно то, что я искал. Спасибо. – uhfocuz

Смежные вопросы