Object adds an object to be encoded, must be used inside a slice or array encoding (does not encode a key) value must implement MarshalerJSONObject
(v MarshalerJSONObject)
| 100 | // Object adds an object to be encoded, must be used inside a slice or array encoding (does not encode a key) |
| 101 | // value must implement MarshalerJSONObject |
| 102 | func (enc *Encoder) Object(v MarshalerJSONObject) { |
| 103 | if v.IsNil() { |
| 104 | enc.grow(2) |
| 105 | r := enc.getPreviousRune() |
| 106 | if r != '{' && r != '[' { |
| 107 | enc.writeByte(',') |
| 108 | } |
| 109 | enc.writeByte('{') |
| 110 | enc.writeByte('}') |
| 111 | return |
| 112 | } |
| 113 | enc.grow(4) |
| 114 | r := enc.getPreviousRune() |
| 115 | if r != '[' { |
| 116 | enc.writeByte(',') |
| 117 | } |
| 118 | enc.writeByte('{') |
| 119 | |
| 120 | var origHasKeys = enc.hasKeys |
| 121 | var origKeys = enc.keys |
| 122 | enc.hasKeys = false |
| 123 | enc.keys = nil |
| 124 | |
| 125 | v.MarshalJSONObject(enc) |
| 126 | |
| 127 | enc.hasKeys = origHasKeys |
| 128 | enc.keys = origKeys |
| 129 | |
| 130 | enc.writeByte('}') |
| 131 | } |
| 132 | |
| 133 | // ObjectWithKeys adds an object to be encoded, must be used inside a slice or array encoding (does not encode a key) |
| 134 | // value must implement MarshalerJSONObject. It will only encode the keys in keys. |
no test coverage detected