2016-10-02 6 views
-2

ステータスコードを取得してifステートメントに入れようとしています。このコードはxCodeプレイグラウンドで実行されます。xcode swift 3.0 JSONレスポンスを解析します

今のところの周りに角括弧で[ "200"]として状態戻ります。角括弧を削除すると、nilという結果になります。

ステータスを200に戻してifステートメントに入れる方法はありますか?

import Foundation 

let str = "{\"names\": [\"Bob\", \"Tim\", \"Tina\"],\"status\"[\"200\"],\"message\":\"User has been created\",\"id\":null,\"username\":\"asdf\"}"//"{\"names\": [\"Bob\", \"Tim\", \"Tina\"]}" 
let data = str.data(using: String.Encoding.utf8, allowLossyConversion: false)! 

do { 
    let json = try JSONSerialization.jsonObject(with: data, options: []) as! [String: AnyObject] 
    let status = json["status"] as? [String] 

} catch let error as NSError { 
    print("Failed to load: \(error.localizedDescription)") 
} 
+0

無効であることがあなたの嘆願は、あなたがしようとしたものたちを表示することができます。 –

+0

SwiftyJSONを構文解析に使用 –

+0

Jam解析用にAlamofireを使用します。 –

答えて

-1

あなたはこの回避策を試すことができます?responseString .dataセクション(使用

let dict: Dictionary<String, Any> = try JSONSerialization.jsonObject(with: responseString?.data(using: .utf8)!, options: []) as! Dictionary<String, Any> 

スウィフト3つの主張を:

let responseString = Optional("{\"status\":\"200\",\"message\":\"User has been created\",\"id\":null,\"username\":\"asdf\"}") 
let responseData = responseString?.data(using: .utf8) 
let dict: Dictionary<String, Any> = try JSONSerialization.jsonObject(with: responseData!, options: []) as! Dictionary<String, Any> 

let status = dict["status"] // optional value stored with "status" key in Dictionary 

それは実際には、スウィフト3を使用してコンパイルすることを拒否しているようです: .utf8)!それは既に解かれているはずです。

-1
let str = "{\"names\": [\"Bob\", \"Tim\", \"Tina\"],\"status\":[\"200\"],\"message\":\"User has been created\",\"id\":null,\"username\":\"asdf\"}"//"{\"names\": [\"Bob\", \"Tim\", \"Tina\"]}" 
let data = str.data(using: .utf8) 

do { 
    let json = try JSONSerialization.jsonObject(with: data!, options: []) as! [String: AnyObject] 
    let status = json["status"] as? [String] 
    let yourValue = status?[0] 

} catch let error as NSError { 
    print("Failed to load: \(error.localizedDescription)") 
} 

私はちょうど追加(:)の状態の後にJSONメートに

関連する問題