...

Package jsonpointer

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

Overview ▾

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

type JSONPointable

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

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

type JSONSetable

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

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

type Pointer

Pointer the json pointer reprsentation

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

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