Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //: A UIKit based Playground for presenting user interface
- import UIKit
- import PlaygroundSupport
- public protocol RegistrationEntity {
- var source: Int? { get set }
- var devId: String? { get set }
- }
- private enum RegistrationKeys: String, CodingKey {
- case source
- case devId
- }
- extension RegistrationEntity where Self: Encodable {
- func encodeRegistrationData(_ encoder: Encoder) throws {
- var container = encoder.container(keyedBy: RegistrationKeys.self)
- try container.encode(source, forKey: .source)
- try container.encode(devId, forKey: .devId)
- }
- }
- struct Kekes: Encodable, RegistrationEntity {
- var source: Int?
- var devId: String?
- var name: String
- var surname: String
- private enum CodingKeys: String, CodingKey {
- case name
- case kek = "array"
- case kek2 = "surname2"
- case test
- }
- func encode(to encoder: Encoder) throws {
- var container = encoder.container(keyedBy: CodingKeys.self)
- try encodeRegistrationData(encoder)
- try container.encode(surname, forKey: .kek2)
- try container.encode(name, forKey: .name)
- var response = container.nestedContainer(keyedBy: CodingKeys.self, forKey: .kek)
- try response.encode("qwertyqwerty", forKey: .kek)
- }
- }
- var makeLove = Kekes(name: "name", surname: "surname")
- var jsonData = try! JSONEncoder().encode(makeLove)
- let jsonString = String(data: jsonData, encoding: .utf8)!
- print(jsonString)
- struct GenderTest: Encodable {
- var gen: GenderType?
- public func encode(to encoder: Encoder) throws {
- var container = encoder.container(keyedBy: CodingKeys.self)
- try container.encode(gen, forKey: .gen)
- }
- private enum CodingKeys: String, CodingKey {
- case gen
- }
- }
- public enum GenderType: String, Encodable {
- case male = "MALE"
- case female = "FEMALE"
- public func encode(to encoder: Encoder) throws {
- var container = encoder.container(keyedBy: CodingKeys.self)
- try container.encode(self.rawValue, forKey: .gender)
- }
- private enum CodingKeys: String, CodingKey {
- case gender
- }
- }
- var love = GenderTest(gen: .male)
- var jd = try! JSONEncoder().encode(love)
- let str = String(data: jd, encoding: .utf8)!
- print(str)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement