ArrayKeyOmitEmpty adds an array or slice to be encoded and skips if it is nil. Must be called inside an object as it will encode a key.
(key string, v MarshalerJSONArray)
| 148 | // ArrayKeyOmitEmpty adds an array or slice to be encoded and skips if it is nil. |
| 149 | // Must be called inside an object as it will encode a key. |
| 150 | func (enc *Encoder) ArrayKeyOmitEmpty(key string, v MarshalerJSONArray) { |
| 151 | if enc.hasKeys { |
| 152 | if !enc.keyExists(key) { |
| 153 | return |
| 154 | } |
| 155 | } |
| 156 | if v.IsNil() { |
| 157 | return |
| 158 | } |
| 159 | enc.grow(5 + len(key)) |
| 160 | r := enc.getPreviousRune() |
| 161 | if r != '{' { |
| 162 | enc.writeByte(',') |
| 163 | } |
| 164 | enc.writeByte('"') |
| 165 | enc.writeStringEscape(key) |
| 166 | enc.writeBytes(objKeyArr) |
| 167 | v.MarshalJSONArray(enc) |
| 168 | enc.writeByte(']') |
| 169 | } |
| 170 | |
| 171 | // ArrayKeyNullEmpty adds an array or slice to be encoded and encodes `null`` if it is nil. |
| 172 | // Must be called inside an object as it will encode a key. |