title: Swift Codable with dynamic keys
body: <p>I have <em>JSON structure</em> as:</p>
  
  <pre><code>"periods": {
      "2018-06-07": [
        {
          "firstName": "Test1",
          "lastName": "Test1"
        }
      ],
      "2018-06-06": [
        {
          "firstName": "Test1",
          "lastName": "Test1"
        }
      ]
  }
  </code></pre>
  
  <p>I tried to parse it like this:</p>
  
  <pre><code>public struct Schedule: Codable {
      public let periods: Periods
  }
  
  public struct Periods: Codable {
      public let unknown: [Inner]
  
      public struct Inner: Codable {
          public let firstName: String
          public let lastName: String
      }
  
      private struct CustomCodingKeys: CodingKey {
          var stringValue: String
          init?(stringValue: String) {
              self.stringValue = stringValue
          }
  
          var intValue: Int?
          init?(intValue: Int) {
              return nil
          }
      }
  
      public init(from decoder: Decoder) throws {
          let container = try decoder.container(keyedBy: CustomCodingKeys.self)
          self.unknown = try container.decode([Inner].self, forKey: CustomCodingKeys(stringValue: "2018-06-06")
      }
  }
  </code></pre>
  
  <p>But I can get result for only one value <code>(2018-06-06)</code>. I have multiple dates here that I want to parse. Is this possible?</p>