...

Package json

import "cuelang.org/go/encoding/json"
Overview
Index

Overview ▾

Package json converts JSON to and from CUE.

func Decode

func Decode(r *cue.Runtime, path string, data []byte) (*cue.Instance, error)

Decode parses JSON-encoded data to a CUE value, using path for position information.

Deprecated: use Extract and build using cue.Context.BuildExpr.

func Extract

func Extract(path string, data []byte) (ast.Expr, error)

Extract parses JSON-encoded data to a CUE expression, using path for position information.

func Valid

func Valid(b []byte) bool

Valid reports whether data is a valid JSON encoding.

func Validate

func Validate(b []byte, v cue.Value) error

Validate validates JSON and confirms it matches the constraints specified by v.

type Decoder

A Decoder converts JSON values to CUE.

type Decoder struct {
    // contains filtered or unexported fields
}

func NewDecoder

func NewDecoder(r *cue.Runtime, path string, src io.Reader) *Decoder

NewDecoder configures a JSON decoder. The path is used to associate position information with each node. The runtime may be nil if the decoder is only used to extract to CUE ast objects.

The runtime may be nil if Decode isn't used.

func (*Decoder) Decode

func (d *Decoder) Decode() (*cue.Instance, error)

Decode converts the current JSON value to a CUE instance. It returns io.EOF if the input has been exhausted.

Deprecated: use Extract and build with cue.Context.BuildExpr.

func (*Decoder) Extract

func (d *Decoder) Extract() (ast.Expr, error)

Extract converts the current JSON value to a CUE ast. It returns io.EOF if the input has been exhausted.