2017-05-12 12 views
0

私は質問が何度も尋ねられたことを知っていますが、私はすべてを試しました。なぜ私のコードがうまくいかないのかわからないので、私の結果は常にゼロです。 私はalomafireを統合し、これは私のコードですswiftyjson:swift 3 alamofire swiftyjson添え字

let urlString = "myurl" 

      let params: Parameters = [ 
       "accessProvider": AccessProvider, 
       "inputToken": AccessToken 
      ] 


      Alamofire.request(urlString, method: .post, parameters: params, encoding: URLEncoding.httpBody) 
       .responseJSON { response in 
        if let responseObject = response.result.value { 
         print("JSON: \(responseObject)") 

         let json = JSON(responseObject) 

         let path: [JSONSubscriptType] = ["user","id"] 
         let name = json[path].string 
         print("AAAAA") 
         print(name) 
        } 
      } 

私は、ユーザーの最初の部分を読むことができますが、idを持つ二番目のは常にnilです。

{ 
    "responseCode": 0, 
    "responseDescription": "OK", 
    "user": "{"id":"MAIL", 
     "nickname":"MYNAME", 
     "level":"U", 
     "status":"A", 
     "sex":null, 
     "ageGroup":null, 
     "address":null, 
     "latitude":null, 
     "longitude":null, 
     "creation_timestamp":"2017-05-10 18:40:21", 
     "notification":"1", 
     "last_login":"2017-05-11 18:32:07", 
     "mobilePreference":null, 
     "sport":null, 
     "spot":null, 
     "token":"LONGTOKENID"}" 
} 

私はuが私を助けることを願って、事前に感謝: これは、応答JSONです。 //最初JSON初期化します:

let json = JSON(responseObject) 

// 2番目の抽出を

+0

キー 'user'の値は別のJSON文字列のようです。あなたはサーバー側を担当していますか?はいの場合は、辞書を送ることを検討してください。 – vadian

+0

私はサーバー側の責任を負いません、どうすれば問題を回避できますか? – Jianload

+0

文字列(SwiftyJSON付き)を辞書に逆シリアル化する必要があります。 – vadian

答えて

0

は、誰もが、あなたがこのように解決することができ、同じ問題を抱えている場合、私はあなたの表示、 で質問を解決し、ヴァディアン をありがとうStringにJSONは

let path: [JSONSubscriptType] = ["user"] 
let name = json[path].string 

//文字列から2番目JSONを初期化し

if let dataFromString = name?.data(using: .utf8, allowLossyConversion: false) 
let jsonuser = JSON(data: dataFromString) 
データ

//アクセスは は良い一日を、あなたのすべてをありがとうございました。

関連する問題