2016-02-27 65 views
-1

我試圖解析和從這種結構JSON的獲取值時:NIL解析JSON

["mst_customer": 1, "data": { 
    0 = 2; 
    1 = 1; 
    2 = 1; 
    3 = "JAYSON TAMAYO"; 
    4 = "581-113-113"; 
    5 = 56; 
    6 = on; 
    7 = g; 
    8 = jayson; 
    9 = active; 
    "app_access" = on; 
    id = 2; 
    "mst_customer" = 1; 
    name = "Jayson Tamayo"; 
    status = active; 
    territory = 1; 
}, "status": OK, "staff_id": 2, "staff_name": Jayson Tamayo] 

我用下面的斯威夫特代碼來獲取值:

(data: Dictionary<String, AnyObject>, error: String?) -> Void in 
        if error != nil { 
         print(error) 
        } else { 

         if let feed = data["data"] as? NSDictionary ,let entries = data["data"] as? NSArray{ 
         for elem: AnyObject in entries{ 
           if let staff_name = elem["name"] as? String{ 
           print(staff_name) 
           } 
         } 
        } 
    } 

我想通過使用鍵名或staff_name來獲取名稱。但我總是得到零。

回答

0
要訪問staff_name,這是不是在「數據」變量

...你可以簡單地得到,像

if error != nil { 
    print(error) 
    } else { 
     if let name = data["staff_name"] as? String{ 
      print(name) 
     } 
    } 
0
for elem: AnyObject in entries{ 
    if let songName = elem["name"] as? String{ 
     print(songName) 
    } 
} 

//replace above code with below code 

if let songName : String = entries["name"] as? String{ 
    print(songName) 
} 
+0

我得到錯誤:無法將類型的值「串」預期參數類型'int' - 這裏entries [「name」] –

+0

「songName」的值是什麼? –

+0

我不知道。由於出現錯誤,我無法運行它。 –