Я использую Swift 4 JSONEncoder. У меня есть структура Codable с необязательным свойством, и я хотел бы, чтобы это свойство отображалось как значение null в произведенных данных JSON, когда значение nil. Однако JSONEncoder отбрасывает свойство и не добавляет его к выходу JSON. Есть ли способ настроить JSONEncoder так, чтобы он сохранял ключ и устанавливал его в null в этом случае?
Пример
Ниже приведен фрагмент кода {"number":1}, но я бы хотел, чтобы он дал мне {"string":null,"number":1}:
struct Foo: Codable {
var string: String? = nil
var number: Int = 1
}
let encoder = JSONEncoder()
let data = try! encoder.encode(Foo())
print(String(data: data, encoding: .utf8)!)