Я использую 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)!)