Я ищу способ автоматического сериализации и десериализации экземпляров класса в Swift. Предположим, что мы определили следующий класс...
class Person {
let firstName: String
let lastName: String
init(firstName: String, lastName: String) {
self.firstName = firstName
self.lastName = lastName
}
}
... и Person
instance:
let person = Person(firstName: "John", lastName: "Doe")
Представление JSON Person
будет следующим:
{
"firstName": "John",
"lastName": "Doe"
}
Теперь вот мои вопросы:
- Как я могу сериализовать экземпляр
Person
и получить вышеупомянутый JSON без необходимости вручную добавлять все свойства класса в словарь, который превращается в JSON? - Как я могу десериализовать вышеупомянутый JSON и вернуть экземпляр-объект, который статически типизирован как тип
Person
? Опять же, я не хочу отображать свойства вручную.
Вот как вы это сделали бы на С#, используя Json.NET:
var person = new Person("John", "Doe");
string json = JsonConvert.SerializeObject(person);
// {"firstName":"John","lastName":"Doe"}
Person deserializedPerson = JsonConvert.DeserializeObject<Person>(json);