2016-01-27 2 views
0

Ниже приведена строка json из данных json, которые я получил и преобразовываю в строку. Мне нужно извлечь значения, такие как order_id, order_number, price.Извлечение значений из строки json

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

Я попытался получить значения с NSJSONSerialization.JSONObjectWithData, но не дает мне ничего. Что не так с моим кодом, может кто-нибудь взглянуть?

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

ответ

1

Необходимо надлежащим образом закачать.

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

Я попробовал этот блок кода, но не работает также. – mehmeet43

+0

Проблема может быть у вашего JSON. Убедитесь, что 'order_number' действительно является строкой, а не числом. – Mundi

+0

Некоторые значения - это число, а некоторые другие - строка. – mehmeet43

0

Наконец я использую следующий блок кода на сделай уловом, и она работала

   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"] 

       } 
      }