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

Function DecodeJSON

pkg/util/json/encode.go:183–204  ·  view source on GitHub ↗

DecodeJSON decodes a value encoded with EncodeJSON.

(b []byte)

Source from the content-addressed store, hash-verified

181
182// DecodeJSON decodes a value encoded with EncodeJSON.
183func DecodeJSON(b []byte) ([]byte, JSON, error) {
184 b, containerHeader, err := encoding.DecodeUint32Ascending(b)
185 if err != nil {
186 return b, nil, err
187 }
188 switch containerHeader & containerHeaderTypeMask {
189 case scalarContainerTag:
190 var entry jEntry
191 var err error
192 b, entry, err = decodeJEntry(b, 0)
193 if err != nil {
194 return b, nil, err
195 }
196 return decodeJSONValue(entry, b)
197 case arrayContainerTag:
198 return decodeJSONArray(containerHeader, b)
199 case objectContainerTag:
200 return decodeJSONObject(containerHeader, b)
201 }
202 return b, nil, errors.AssertionFailedf(
203 "error decoding JSON value, header: %x", errors.Safe(containerHeader))
204}
205
206// FromEncoding returns a JSON value which is lazily decoded.
207func FromEncoding(b []byte) (JSON, error) {

Callers 3

decodeMethod · 0.85
decodeJSONValueFunction · 0.85
initFunction · 0.85

Calls 5

DecodeUint32AscendingFunction · 0.92
decodeJEntryFunction · 0.85
decodeJSONValueFunction · 0.85
decodeJSONArrayFunction · 0.85
decodeJSONObjectFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…