Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/g-mark/nullcodable

Property wrapper that encodes `nil` optional values as `null` when encoded using `JSONEncoder`
https://github.com/g-mark/nullcodable

Last synced: 2 months ago
JSON representation

Property wrapper that encodes `nil` optional values as `null` when encoded using `JSONEncoder`

Awesome Lists containing this project

README

        

# @NullCodable

`@NullCodable` is a property wrapper that encodes `nil` optional values as `null` when encoded using `JSONEncoder`.

On its own, `JSONEncoder` will omit optional properties that are `nil` - meaning that this:
```swift
struct Test: Codable {
var name: String? = nil
}
```
will be encoded as: `{}`.

If for some reason, you would like optional properties that are nil
to be encoded in JSON as `null`, then marking those properties as `@NullCodable`
will do so.

For example, adding `@NullCodable` like this:
```swift
struct Test: Codable {
@NullCodable var name: String? = nil
}
```
will encode as: `{\"name\": null}`.