2017-07-19 8 views
1

私は辞書に投稿データを取得しようとしています。最初に私が何をしているのかを見せてください。Swift: '' __NSCFString '(0x10e4d5ef0)型の値を' NSDictionary '(0x10e4d6bc0)にキャストできませんでした。

manager.POST(url, parameters: dict, 
 
       success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in 
 
    if let jsonDict = self.parseJSON(responseObject) { 
 
    print(jsonDict) 
 
         
 
    // Error occur on the following line      
 
    
 
    let dataDict = jsonDict["data"] as! [String : AnyObject] 
 
    
 
// Error Info: Swift: Could not cast value of type 'Could not cast value of type '__NSCFString' (0x10e4d5ef0) to 'NSDictionary' (0x10e4d6bc0).' 
 

 
}
ParseJson機能:{ "SESSION_ID":
func parseJSON(inputData: AnyObject) -> Dictionary<String,AnyObject>?{ 
 
     
 
     do { 
 
      let jsonDict = try NSJSONSerialization.JSONObjectWithData(inputData as! NSData, options:NSJSONReadingOptions.MutableContainers) as! Dictionary<String,AnyObject> 
 
      // use jsonData 
 
      return jsonDict 
 
     } catch let error as NSError { 
 
      // report error 
 
      print(error.description) 
 
      print("Session: Json Parse Error!!!") 
 
      return nil 
 
     } 
 
    }

これはpirntの結果(jsonDict)

[データである "ab4kn9fj34ko89kjkl5ljs98gfk498fgkl409alk34l"、 "user_info":{"username": "Johny Cage"、 "ENCPASSWORD": "johnycage"、 "id":1 、 "FULLNAME": "Johny Cage"}}、ステータス:成功]

ご意見やご提案は高く評価されています。

+0

私は投稿から試しましたが、与えられた解決策が私のコードで別のエラーを引き起こしています。リンク:https://stackoverflow.com/questions/39652661/could-not-cast-value-of-type-nscfstring-0x104a67320-to-nsdictionary-0x1 – user6159419

+0

https://stackoverflow.com/questions/38831641の回答/ swf-can-not-cast-value-of-type-nscfstring-to-nsdictionaryも私のために働いていませんでした。 – user6159419

+0

関数parseJSONのコードを追加できますか? – Jay

答えて

1

ウェブサービスからの返品データを確認してください。私はあなたがJason Stringで何回も変換していると思います。上記のコードに問題はありません。サーバー側を確認してください。

+0

ありがとうございました、これは私が2日目に保存したものです。はい、あなたが言及したように私のクライアント側に何か追加がありました。どうもありがとうございました。 – user6159419

+0

私の喜び。 。 。あなたの問題は解決されました。Cheer :) –

関連する問題