MCPcopy Create free account
hub / github.com/cockroachdb/cockroachdb-parser / parseObjectValue

Method parseObjectValue

pkg/util/json/parser.go:166–190  ·  view source on GitHub ↗

parseObjectValue processes object value.

(tok []byte)

Source from the content-addressed store, hash-verified

164
165// parseObjectValue processes object value.
166func (p *fastJSONParser) parseObjectValue(tok []byte) (JSON, error) {
167 switch tok[0] {
168 case tokenizer.ArrayStart:
169 p.pushArray()
170 case tokenizer.ObjectStart:
171 p.pushObject()
172 case tokenizer.Null:
173 p.setObjectValue(NullJSONValue)
174 case tokenizer.String:
175 p.setObjectValue(jsonString(tok[1 : len(tok)-1]))
176 case tokenizer.True:
177 p.setObjectValue(TrueJSONValue)
178 case tokenizer.False:
179 p.setObjectValue(FalseJSONValue)
180 case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
181 n, err := FromNumber(json.Number(tok))
182 if err != nil {
183 return n, err
184 }
185 p.setObjectValue(n)
186 default:
187 return nil, errors.Newf("unexpected object token %q", tok)
188 }
189 return nil, nil
190}
191
192type kind bool
193

Callers

nothing calls this directly

Calls 5

pushArrayMethod · 0.95
pushObjectMethod · 0.95
setObjectValueMethod · 0.95
jsonStringTypeAlias · 0.85
FromNumberFunction · 0.85

Tested by

no test coverage detected