title: JSonDecoder() Swift 4 Decoding error
body: <p>I am getting an error when trying to decode Json in swift 4 </p>
  
  <p>typeMismatch(Swift.Dictionary, Swift.DecodingError.Context(codingPath: [Swift._DictionaryCodingKey(stringValue: "ThrottleSeconds", intValue: nil)], debugDescription: "Expected to decode Dictionary but found a number instead.", underlyingError: nil))</p>
  
  <p>Json reply is </p>
  
  <p>{"Response":"4611686018456390681","ErrorCode":1,"ThrottleSeconds":0,"ErrorStatus":"Success","Message":"Ok","MessageData":{}}</p>
  
  <pre><code>struct BasicReply: Decodable {
  
  let Response : String?
  let ErrorCode : Int?
  let ThrottleSeconds : Int?
  let ErrorStatus : String?
  let Message : String?
  let MessageData : String?
  }
  
  class NetworkRequests {
  let api = apiDetails()
  
  
  func buildRequests()-&gt;String{
  
      let request = "1/Stats/GetMembershipIdByDisplayName/" + api.userName + "/"
  
     // let request = "1/Account/" + api.membershipId + "/Summary/"
      return request
  }
  func request(){
  
  
      let destinyURL : String = api.destinyURL + buildRequests()
      let url = NSURL(string: destinyURL)
      let request = NSMutableURLRequest(url: url! as URL)
      request.httpMethod = "GET"
      // add headers
      request.setValue(api.apiKey, forHTTPHeaderField: "X-API-Key")
  
      let session = URLSession.shared
  
      let destinySession = session.dataTask(with: request as URLRequest) { (data, response, error) -&gt; Void in
          if let response = response as? HTTPURLResponse {
              let code = response.statusCode
              print(code)
          }
  
          guard let data = data else {print("No DATA!!!");return}
          let output = String(data: data, encoding: String.Encoding.utf8)
          print("output ", output! as Any)
  
          do {
  
              let questions = try JSONDecoder().decode([String: BasicReply].self, from: data)
  
          } catch let jsonErr {
  
              print("Error decoding Json Questons", jsonErr)
          }
      }
      destinySession.resume()
  }
  }
  </code></pre>