2016-02-27 68 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

我不知道。由于出现错误,我无法运行它。 –