2014-11-24 2 views
2

신속한 코드에서 JSON 데이터에 액세스하려고하는데 올바르게 반환하는 데 문제가 있습니다. 여기 내 JSON 코드는 다음과 같습니다신속한 JSON 데이터 액세스

[ 
    { 
     "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)") 
    } 

과 데이터에 액세스하려고하지만 아무 것도 반환하지 않습니다하고있다. 어떤 아이디어? 당신이 NSData이 있다면 당신은 JSON(data: ...) 연주 사용할 수,

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

또는 :

답변

2

당신은 JSON(string:...) 연주를 호출하고 [0]["id"] 사이의 기간을 제거 할 수

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