ordered

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrintOrdered

func PrintOrdered(val *OrderedValue, indent int)

Types

type OrderedArray

type OrderedArray []*OrderedValue

OrderedArray is a JSON array that can hold nested OrderedValues

func (*OrderedArray) UnmarshalJSON

func (a *OrderedArray) UnmarshalJSON(data []byte) error

UnmarshalJSON for OrderedArray

type OrderedObject

type OrderedObject []OrderedPair

OrderedObject is a JSON object with key order preserved

func NewOrderedObject added in v0.2.0

func NewOrderedObject() OrderedObject

func (OrderedObject) MarshalJSON

func (o OrderedObject) MarshalJSON() ([]byte, error)

MarshalJSON for OrderedObject preserves key order

func (*OrderedObject) UnmarshalJSON

func (o *OrderedObject) UnmarshalJSON(data []byte) error

UnmarshalJSON for OrderedObject preserves key order

type OrderedPair

type OrderedPair struct {
	Key   string
	Value *OrderedValue
}

OrderedPair represents a single key-value pair in a JSON object

type OrderedValue

type OrderedValue struct {
	Type  ValueType
	Value any
}

OrderedValue is a generic value that can be a primitive, object, or array

func ReadJSON

func ReadJSON(inputFile string) (OrderedValue, error)

func (*OrderedValue) ArrayValueForKey

func (ov *OrderedValue) ArrayValueForKey(key string) (OrderedArray, bool)

func (*OrderedValue) BoolValue

func (o *OrderedValue) BoolValue() (bool, error)

func (*OrderedValue) BoolValueForKey

func (ov *OrderedValue) BoolValueForKey(key string) (bool, bool)

func (*OrderedValue) FloatValueForKey

func (ov *OrderedValue) FloatValueForKey(key string) (float64, bool)

func (*OrderedValue) GetValue

func (o *OrderedValue) GetValue() (any, ValueType, error)

func (*OrderedValue) IntValue

func (o *OrderedValue) IntValue() (int64, error)

func (*OrderedValue) MarshalJSON

func (ov *OrderedValue) MarshalJSON() ([]byte, error)

MarshalJSON for OrderedValue writes it back correctly

func (*OrderedValue) NumberValue

func (o *OrderedValue) NumberValue() (float64, error)

func (*OrderedValue) ObjectValueForKey

func (ov *OrderedValue) ObjectValueForKey(key string) (OrderedObject, bool)

func (*OrderedValue) StringValue

func (o *OrderedValue) StringValue() (string, error)

func (*OrderedValue) StringValueForKey

func (ov *OrderedValue) StringValueForKey(key string) (string, bool)

func (*OrderedValue) UnmarshalJSON

func (ov *OrderedValue) UnmarshalJSON(data []byte) error

UnmarshalJSON for OrderedValue handles all JSON types

func (*OrderedValue) ValueForKey

func (ov *OrderedValue) ValueForKey(key string) (*OrderedValue, bool)

type ValueType

type ValueType int
const (
	OBJECT ValueType = iota
	ARRAY
	STRING
	BOOL
	NUMBER
	INTEGER
	NULL
)

func (ValueType) String

func (t ValueType) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL