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

Method parseArrayValue

pkg/util/json/parser.go:124–150  ·  view source on GitHub ↗

parseArrayValue processes JSON value inside array.

(tok []byte)

Source from the content-addressed store, hash-verified

122
123// parseArrayValue processes JSON value inside array.
124func (p *fastJSONParser) parseArrayValue(tok []byte) (JSON, error) {
125 switch tok[0] {
126 case tokenizer.ArrayEnd:
127 return p.buildArray()
128 case tokenizer.ArrayStart:
129 p.pushArray()
130 case tokenizer.ObjectStart:
131 p.pushObject()
132 case tokenizer.Null:
133 p.addArrayValue(NullJSONValue)
134 case tokenizer.String:
135 p.addArrayValue(jsonString(tok[1 : len(tok)-1]))
136 case tokenizer.True:
137 p.addArrayValue(TrueJSONValue)
138 case tokenizer.False:
139 p.addArrayValue(FalseJSONValue)
140 case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
141 n, err := FromNumber(json.Number(tok))
142 if err != nil {
143 return n, err
144 }
145 p.addArrayValue(n)
146 default:
147 return nil, errors.Newf("unexpected array token %q", tok)
148 }
149 return nil, nil
150}
151
152// parseObjectKey processes object key.
153func (p *fastJSONParser) parseObjectKey(tok []byte) (JSON, error) {

Callers

nothing calls this directly

Calls 6

buildArrayMethod · 0.95
pushArrayMethod · 0.95
pushObjectMethod · 0.95
addArrayValueMethod · 0.95
jsonStringTypeAlias · 0.85
FromNumberFunction · 0.85

Tested by

no test coverage detected