title: How to parse JSON data in Swift 3?
body: <p>I need to get my GPS location from mySQL by PHP in Swift 3. I tried to write the code for get data but it still not work, could you advise me?</p>
  
  <p>JSON Data from PHP:</p>
  
  <blockquote>
    <p>[{"id":"3752","latitude":"11.2222","longitude":"111.2222","Speed":"0.000000","Volt":"3.97","Percent":"87.000000","Dates":"2017-03-07 22:53:32"}]</p>
  </blockquote>
  
  <p>Swift 3 code:</p>
  
  <pre><code>import UIKit
  //-------- import google map library --------//
  import GoogleMaps
  import GooglePlaces
  class ViewController: UIViewController , GMSMapViewDelegate {
      var placesClient: GMSPlacesClient!
      override func viewDidLoad() {
          super.viewDidLoad()     
          var abc : String = String()        
          //-------- Google key for ios --------//
          GMSServices.provideAPIKey("XXXXXXXXXX")
          GMSPlacesClient.provideAPIKey("XXXXXXXXX")
         //--------set URL --------//
          let myUrl = URL(string: "http://www.myweb/service.php");        
          var request = URLRequest(url:myUrl!)        
          request.httpMethod = "POST"        
          let postString = "";        
          request.httpBody = postString.data(using: String.Encoding.utf8);        
          let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
              if error != nil
              {
                  print("error=\(error)")
                  return
              }            
              // You can print out response object
              print("response = \(response)")           
  
              do {
                  let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
  
                  if let parseJSON = json {                    
                      // Now we can access value of latiutde
                      let latitude= parseJSON["latitude"] as? String //&lt;---- Here , which i need latitude value
                      print("latitude = \(latitude)")    
                  }
              } catch {
                  print(error)
              }
          }
          task.resume()     
  
  }
  </code></pre>
  
  <p>I tried to write the code but it show the errors on debug output</p>
  
  <pre><code>    let responseString = String(data: data, encoding: .utf8 )  
      let str = String(data: data, encoding: .utf8 )
      let data2 = str?.data(using: String.Encoding.utf8, allowLossyConversion: false)!
  
      do {
          let json = try JSONSerialization.jsonObject(with: data2!, options: []) as! [String: AnyObject]
          if let names = json["latitude"] as? [String] {
              print(names)
          }
      } catch let error as NSError {
          print("Failed to load: \(error.localizedDescription)")
      }            
  
  }
  </code></pre>
  
  <p>Error message</p>
  
  <blockquote>
    <p>Could not cast value of type '__NSSingleObjectArrayI' (0x1065fad60) to
    'NSDictionary' (0x1065fb288).</p>
  </blockquote>