2016-08-16 9 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 [ "ユーザー"] [0] [ "ID"]。EICaptainv2.0 @ –

+0

をSTRING'あなたの仕事に感謝!!!! – joda

+0

リンクを提供しても関連コードを提供してください。あなたが提供したjsonには「弁護士」フィールドはありません。またリンクが私のために働いていません。 –

答えて

0

まず、このJSONには「弁護士」はなく、データの解析を開始しません。第2に、すべての値はString型です。したがって、それらを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 
    } 
} 

使用法:

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 
    } 
} 

あなたはJSONデータを編集することができた場合はJSONを解析するときは、引用符を削除すると、あなたが数値を整数として使用することができます。

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

注:辞書でこれを保存するために、あなたは文字列(ID)で文字列に変換する必要があります。データを格納するこの方法は最良ではありません。通常は文字列と1つの整数しか持たないので、これを使用します。

私は、これはあなたの問題を解決したいと考えています。あなたが何か他のものを必要としたら教えてください!

PS:JSONデータに誤字があります:phone_namber。

関連する問題