MCPcopy Create free account
hub / github.com/francoispqt/gojay / StringKeyOmitEmpty

Method StringKeyOmitEmpty

encode_string.go:140–160  ·  view source on GitHub ↗

StringKeyOmitEmpty adds a string to be encoded or skips it if it is zero value. Must be used inside an object as it will encode a key

(key, v string)

Source from the content-addressed store, hash-verified

138// StringKeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
139// Must be used inside an object as it will encode a key
140func (enc *Encoder) StringKeyOmitEmpty(key, v string) {
141 if enc.hasKeys {
142 if !enc.keyExists(key) {
143 return
144 }
145 }
146 if v == "" {
147 return
148 }
149 enc.grow(len(key) + len(v) + 5)
150 r := enc.getPreviousRune()
151 if r != '{' {
152 enc.writeTwoBytes(',', '"')
153 } else {
154 enc.writeByte('"')
155 }
156 enc.writeStringEscape(key)
157 enc.writeBytes(objKeyStr)
158 enc.writeStringEscape(v)
159 enc.writeByte('"')
160}
161
162// StringKeyNullEmpty adds a string to be encoded or skips it if it is zero value.
163// Must be used inside an object as it will encode a key

Callers 4

AddStringKeyOmitEmptyMethod · 0.95
MarshalJSONObjectMethod · 0.80

Calls 7

keyExistsMethod · 0.95
growMethod · 0.95
getPreviousRuneMethod · 0.95
writeTwoBytesMethod · 0.95
writeByteMethod · 0.95
writeStringEscapeMethod · 0.95
writeBytesMethod · 0.95

Tested by 1

MarshalJSONObjectMethod · 0.64