Ios 我的swift应用无法将NSData转换为Json

Ios 我的swift应用无法将NSData转换为Json,ios,json,swift,nsdata,nsjsonserialization,Ios,Json,Swift,Nsdata,Nsjsonserialization,我试图通过以下方式将NSData转换为Json: let jdata = getJSON("https://api.myjson.com/bins/16j2i") do { let json = try NSJSONSerialization.JSONObjectWithData(jdata, options: []) as! [String: AnyObject] print(json) } catch { print(

我试图通过以下方式将NSData转换为Json:

    let jdata = getJSON("https://api.myjson.com/bins/16j2i")

    do {
        let json = try NSJSONSerialization.JSONObjectWithData(jdata, options: []) as! [String: AnyObject]
        print(json)
    } catch {
        print("\(error)")
    }
这是getJSON方法

func getJSON(url:String) -> NSData {
    return NSData(contentsOfURL: NSURL(string: url)!)!
}

错误表示无法将类型为“\u NSCFArray”的值强制转换为“NSDictionary”。有什么想法吗?请

您的JSON数组的根元素不是字典(您的格式类似于
[{…},{…}]
)。要修复此错误,您需要将解析代码更改为:

let json = try NSJSONSerialization.JSONObjectWithData(jdata, options: []) as! [[String: AnyObject]]
让json=try JSONSerialization.jsonObject(使用:data,options:.mutableContainers)作为?[字符串:任意]

Swift 3.1和Swift 4的工作罚款


字典数组:
[[String:AnyObject]]
请不要建议
.mutableContainers
。在Swift中,该选项毫无意义。
let data = text.data(using: String.Encoding.utf8)
let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
let convert_array = responseString?.description
// Convert server json response to NSDictionary
do {
    if let convertedJsonIntoDict = try JSONSerialization.jsonObject(with: data!, options: []) as? NSArray {
       print(convertedJsonIntoDict)
    }