当我整合restful api时,它返回错误
可选(错误域= NSCocoaErrorDomain Code = 3840“操作 无法完成。 (可可错误3840.)“(JSON文本没有开始 使用数组或对象以及允许未设置片段的选项。) UserInfo = 0x17046c680 {NSDebugDescription = JSON文本未启动 数组或对象以及允许未设置片段的选项。})
你能告诉我为什么会这样吗?我在swift编码。请检查以下代码行:
var jsonResponse = NSJSONSerialization.JSONObjectWithData(ihelper.responseData!, options: NSJSONReadingOptions.AllowFragments, error: &error) as AnyObject? as? NSArray
答案 0 :(得分:1)
如果您不知道它是以字典还是数组开头,最好通过在线JSON查看器,您可以在其中粘贴json响应并识别数据。
如果json以Dictionary开头(Dictioanry以json响应中的{....}开头),则需要使用
if let jsonResponse: NSDictionary = NSJSONSerialization.JSONObjectWithData(ihelper.responseData!, options: NSJSONReadingOptions.AllowFragments, error: &error) as? NSDictionary
{
println("Response are\(jsonResponse)")
}
如果json以Array开头(数组以json响应中的[....]开头),则需要使用
if let jsonResponse: NSArray = NSJSONSerialization.JSONObjectWithData(ihelper.responseData!, options: NSJSONReadingOptions.AllowFragments, error: &error) as? NSArray
{
println("Response are\(jsonResponse)")
}