NSJSONSerialization使用有效的json返回nil

Ant*_*nyR 0 json ios swift

我尝试解析一个使用NSJSonSerialization返回有效JSON的响应.但它返回nil没有错误.它适用于另一个JSON响应.

我做了一些搜索,这可能是JSON编码的问题.我不知道如何解决它.任何的想法 ?

let url: NSURL = NSURL(string: urlPath)!
        self.searchRequest = NSMutableURLRequest(URL: url)
        if let searchRequest = self.searchRequest {
            searchRequest.HTTPMethod = "GET"
            let authString : String = SNCF.APIKey + ":" + ""
            let authData : NSData = authString.dataUsingEncoding(NSASCIIStringEncoding)!
            let authValue : String = "Basic " + authData.base64EncodedStringWithOptions(.EncodingEndLineWithCarriageReturn)
            searchRequest.setValue(authValue, forHTTPHeaderField: "Authorization")

            let queue:NSOperationQueue = NSOperationQueue()
            NSURLConnection.sendAsynchronousRequest(searchRequest, queue: queue, completionHandler:{ (response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in

            do {
//HERE JSONRESULT WILL BE NIL
                if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String: [AnyObject]] {
                    print("ASynchronous\(jsonResult)")
                    if let places = jsonResult["stop_areas"] as? [[String:AnyObject]]{
                        for placeDictionary in places {
                            if let labelText = placeDictionary["label"] as? String {
                                self.resultDatasource.append(labelText)
                            }
                        }
                        self.resultTableView.reloadData()
                    }
                }
//HERE NO ERROR IS CATCHED
            } catch let error as NSError {
                print(error.localizedDescription)
            }
        })
Run Code Online (Sandbox Code Playgroud)

我的一块json回复:

{
  "disruptions": [],
  "pagination": {
    "start_page": 0,
    "items_on_page": 100,
    "items_per_page": 100,
    "total_result": 3053
  },
  "stop_areas": [
    {
      "codes": [
        {
          "type": "CR-CI-CH",
          "value": "0080-251967-BV"
        }
      ],
      "name": "gare de Perl",
      "links": [],
      "coord": {
        "lat": "0",
        "lon": "0"
      },
      "label": "gare de Perl",
      "timezone": "Europe/Paris",
      "id": "stop_area:OCE:SA:80251967"
    },
    {
    ...
    },
    //stop_areas dictionaries object...
], //end stop_areas array of dictionaries
"links": [
    {
      "href": "https://api.sncf.com/v1/coverage/sncf/stop_areas/{stop_areas.id}",
      "type": "stop_areas",
      "rel": "stop_areas",
      "templated": true
    },
    {
      "href": "https://api.sncf.com/v1/coverage/sncf/stop_areas?start_page=1",
      "type": "next",
      "templated": false
    },
    {
      "href": "https://api.sncf.com/v1/coverage/sncf/stop_areas?start_page=30.52",
      "type": "last",
      "templated": false
    },
    {
      "href": "https://api.sncf.com/v1/coverage/sncf/stop_areas",
      "type": "first",
      "templated": false
    }
  ],
  "feed_publishers": [
    {
      "url": "",
      "id": "sncf",
      "license": "",
      "name": ""
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

vad*_*ian 5

JSON的类型[String: AnyObject]不是[String: [AnyObject]]