jsonpointer – github.com/go-openapi/jsonpointer Index | Files

package jsonpointer

import "github.com/go-openapi/jsonpointer"

Index

Constants

const (
	// ErrPointer is an error raised by the jsonpointer package
	ErrPointer pointerError = "JSON pointer error"

	// ErrInvalidStart states that a JSON pointer must start with a separator ("/")
	ErrInvalidStart pointerError = `JSON pointer must be empty or start with a "` + pointerSeparator

	// ErrUnsupportedValueType indicates that a value of the wrong type is being set
	ErrUnsupportedValueType pointerError = "only structs, pointers, maps and slices are supported for setting values"
)

Functions

func Escape

func Escape(token string) string

Escape escapes a pointer reference token string

func GetForToken

func GetForToken(document any, decodedToken string) (any, reflect.Kind, error)

GetForToken gets a value for a json pointer token 1 level deep

func SetForToken

func SetForToken(document any, decodedToken string, value any) (any, error)

SetForToken gets a value for a json pointer token 1 level deep

func Unescape

func Unescape(token string) string

Unescape unescapes a json pointer reference token string to the original representation

Types

type JSONPointable

type JSONPointable interface {
	JSONLookup(string) (any, error)
}

JSONPointable is an interface for structs to implement when they need to customize the json pointer process

type JSONSetable

type JSONSetable interface {
	JSONSet(string, any) error
}

JSONSetable is an interface for structs to implement when they need to customize the json pointer process

type Pointer

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

Pointer the json pointer reprsentation

func New

func New(jsonPointerString string) (Pointer, error)

New creates a new json pointer for the given string

func (*Pointer) DecodedTokens

func (p *Pointer) DecodedTokens() []string

DecodedTokens returns the decoded tokens

func (*Pointer) Get

func (p *Pointer) Get(document any) (any, reflect.Kind, error)

Get uses the pointer to retrieve a value from a JSON document

func (*Pointer) IsEmpty

func (p *Pointer) IsEmpty() bool

IsEmpty returns true if this is an empty json pointer this indicates that it points to the root document

func (*Pointer) Offset

func (p *Pointer) Offset(document string) (int64, error)

func (*Pointer) Set

func (p *Pointer) Set(document any, value any) (any, error)

Set uses the pointer to set a value from a JSON document

func (*Pointer) String

func (p *Pointer) String() string

Pointer to string representation function

Source Files

errors.go pointer.go

Version
v0.21.1 (latest)
Published
Mar 12, 2025
Platform
darwin/amd64
Imports
7 packages
Last checked
now

Tools for package owners.