2016-01-27 2 views
0

Ci-dessous est la chaîne json à partir des données json que j'ai obtenu et convertir en chaîne. J'ai besoin d'extraire des valeurs comme order_id, order_number, price.Extraire les valeurs de la chaîne json

Optional({ 
    msg = Success; 
    name = "Add Order"; 
    "order_id" = 40509; 
    "order_number" = 012720380116; 
    "price" = 115; 
    status = 1; 
}) 

J'ai essayé d'obtenir des valeurs avec NSJSONSerialization.JSONObjectWithData mais ne me donne rien. Quel est le problème avec mon code, quelqu'un pourrait jeter un coup d'oeil?

do { 
let json:AnyObject? = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) 
if let order_number = json!["order_number"] as? String { 
print(order_number) 
} 

Répondre

1

Vous devez lancer une conversion de manière appropriée.

let json = try 
    NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) 
    as! [String: AnyObject] 
+0

J'ai essayé ce bloc de code, mais n'a pas fonctionné aussi. – mehmeet43

+0

Le problème pourrait par votre JSON alors. Assurez-vous que 'order_number' est vraiment une chaîne et non un nombre. – Mundi

+0

certaines valeurs sont des nombres et d'autres sont des chaînes. – mehmeet43

0

Enfin j'utiliser après un bloc de code sur do prises accessoires et ça a

   let jsonDict = try NSJSONSerialization.JSONObjectWithData(data2, options: NSJSONReadingOptions(rawValue: 0)) as? NSDictionary 
      if let stat = jsonDict!["status"] { 
       if stat as! NSObject == 1 { 
        let order_id = jsonDict!["order_id"] 
        let order_number = jsonDict!["order_number"] 
        let price = jsonDict!["price"] 

       } 
      }