我正在使用Alamofire请求JSON对象并使用SwiftyJSON访问它。
我的要求是:
// JSON webservice ...
[
{
"message":"Please connect"
}
]
如您所见,我需要删除字符串“// JSON webservice ...”,因为它实际上不是有效的JSON对象。 请注意,我正在使用.responseString,否则我无法删除字符串部分。
所以为了删除我正在做的字符串:
let jsonString = data?.stringByReplacingOccurrencesOfString("// JSON webservice ...", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
现在我可以使用我的字符串:
var json = SwiftyJSON.JSON(jsonString!)
我可以打印json:
println(json)
但无论我打印什么值
println(json[0]["message"].string)
是零。
答案 0 :(得分:0)
我终于找到了解决方案:
我们将字符串转换为NSData并尝试序列化我们的JSON对象:
let data = jsonString?.dataUsingEncoding(NSUTF8StringEncoding)
let jsonData = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSArray?
现在应该没问题,尝试打印JSON对象的值时一切正常
var json = SwiftyJSON.JSON(jsonData!)
println(json[0]["message"])
它打印正确的值。