2016-08-16 4 views
1

와 JSON에서 값을 읽을 SwiftyJSON를 사용하는 방법, 나는 SwiftyJSON 라이브러리를 사용하여 값에 액세스하려면 :여러 객체와 배열 나는이 JSON을

{"user":[{"id":"33","id_number":"0","first_name":"tom","last_name":"lily","city":"jeddah","gender":"0","DOB":"0000-00-00","phone_namber":"0000000000","email":"000"}, 
{"id":"34","id_number":"0","first_name":"tom","last_name":"lily","city":"jeddah","gender":"0","DOB":"0000-00-00","phone_namber":"0000000000","email":"000"}]} 

이 JSON 배열과 객체를 포함합니다. 나는이 때, 그것은 작동하지 않습니다

JSON["lawyers"]["id"].intValue 

어떻게이 JSON에 id 및 기타 값에 액세스 할 수 있습니까?

+0

'JSON [ "사용자"] EICaptainv2.0 당신에게 작업을 감사합니다 @ [0] [ "ID"]. –

+0

을 string' !!!! – joda

+0

당신이 링크를 제공하는 경우에도 관련 코드를 입력하십시오. 당신이 제공 한 json에는 "변호사"필드가 없습니다. 또한 링크가 나를 위해 작동하지 않습니다. –

답변

0

첫째로,이 JSON에는 "변호사"가 없으며 결코 데이터 구문 분석을 시작하지 않습니다. 둘째, 모든 값은 문자열 유형이므로 Int로 사용하려면 해당 값을 변환해야합니다.

그래서 "사용자"배열이 있습니다. 즉, 배열을 반복해야합니다.

그런 다음 "사용자"배열의 항목을 사용하여 작업하고 값에 액세스 할 수 있습니다.

다음은 내가 사용하는 기능입니다. 그 입력은 내가 작업하고있는 JSON이며 사전에 저장합니다. 이것의

var dataArray = [[String: String]]() // Init dictionary 

func parseJSON(json: JSON) { 
    for item in json["user"].arrayValue { // This is the JSON array which contains the values that you need 
     let id = item["id"].stringValue // You access the value here 
     let first_name = item["first_name"].stringValue 
     let last_name = item["last_name"].stringValue 
     let email = item["email"].stringValue 

     let obj = ["id": id, "first_name": first_name, "last_name": last_name, "email": email] 
     dataArray.append(obj) // This appends the JSON parsed data to an array of dictionaries 
    } 
} 

사용법 : 당신은 JSON 데이터를 편집 할 수있는 경우 JSON을 구문 분석 할 때

func usingTheParsedJSON(){ 
    for user in dataArray { 
     print("user's id: ", user["id"], ", last_name: ", user["last_name"]) 
     let convertedId: Int = Int(user["id"]) // If you want to use the id as Int. With this dictionary, you can only store it as String, since everything has to have the same type 
    } 
} 

은 다음 인용 부호를 제거, 당신은 정수로 숫자를 사용할 수 있습니다.

let id = item["id"].intValue // This goes into the func's for loop 

참고 : 사전에이를 저장하기 위해, 당신은 문자열 (ID)을 문자열로 변환해야합니다. 데이터를 저장하는이 방법은 최선이 아닙니다. 일반적으로 문자열과 하나의 정수 만 있기 때문에이 방법을 사용합니다.

나는이 방법으로 문제가 해결되기를 바랍니다. 네가 다른 것을 필요로하면 알려줘!

PS : phone_namber 다음 JSON 데이터에 오타가있다.