Arrays 从Swift中的JSON数组获取字符串
我需要从Arrays 从Swift中的JSON数组获取字符串,arrays,json,swift,Arrays,Json,Swift,我需要从JSON数组中获取字符串,这是来自外部服务器的响应。这是我的代码: if let dictionary = NSJSONSerialization.JSONObjectWithData(data,options: NSJSONReadingOptions.MutableContainers,error: &parsingError) as NSDictionary?{ var info : NSArray = dictionary.valueForKey("data")
JSON数组
中获取字符串,这是来自外部服务器的响应。这是我的代码:
if let dictionary = NSJSONSerialization.JSONObjectWithData(data,options: NSJSONReadingOptions.MutableContainers,error: &parsingError) as NSDictionary?{
var info : NSArray = dictionary.valueForKey("data") as NSArray
var names: String? = info[0].valueForKey("firstname") as? String
println("name ++\(names)")
}
它正在编译,但当我执行时,没有运行,我得到了
线程8:exc\u错误访问(代码=2
这是来自服务器端的口述
{
data = {
Id = 55;
firstName = fgg;
gender = 1;
};
success = 1; }
我没有成功地遵循了这个思路:
有人能帮我把这个字符串拿出来吗?我找不出我在这里犯的错误。任何帮助都将不胜感激
let dataId = response.value(forKeyPath: "data.id") as! NSNumber
如果我无法进行反序列化,通常会执行此操作。尝试以下操作:
do
{
let data = try JSONSerialization.data(withJSONObject: json, options: JSONSerialization.WritingOptions.prettyPrinted)
}
catch _{}
let data = json["data"] as! NSDictionary
let firstName = data["firstName"]
试试这个
if let dictionary = NSJSONSerialization.JSONObjectWithData(data,options: NSJSONReadingOptions.MutableContainers,error: &parsingError) as NSDictionary?{
var info : NSDictionary = dictionary.valueForKey("data") as! NSDictionary
var names: String? = info["firstName"] as? String
println("name ++\(names!)")
}
这不是一个数组,而是一个字典。试试这个
var-info:NSDictionary=dictionary.valueForKey(“数据”)作为NSDictionary-var-names:String?=info[“firstName”]as?String-println(“name++\(names)”)
如果出现任何问题,请告诉我谢谢!@museransari。您可以将此添加为答案,以便我可以接受。是的,只需复制并粘贴我的答案(如下所示)我已更新,如果正在工作,请向上投票谢谢!谢谢您的支持。谢谢您的支持。