json

package module
v0.0.0-...-142bfad Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2013 License: MIT Imports: 8 Imported by: 0

README

Parse and create JSON as tree data-structure

go-json-tree allows you to dynamically query data from the map[string]interface{} based tree data-structure generated by json.Unmarshal().

See:

FromBytes(jsonBytes []byte) (Tree, error)
FromString(jsonString string) (Tree, error)
FromFile(filename string) (Tree, error)
FromURL(url string) (Tree, error)
FromReader(reader io.Reader) (Tree, error)

Builder creates such json.Marshal() compatible trees.

Example:

var builder json.Builder
builder.BeginObject().Name("Greeting").Value("Hello World!").EndObject()

// Create tree and query "Greeting"
greeting := builder.Tree().Select("Greeting").GetString()

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

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

func (*Builder) BeginArray

func (self *Builder) BeginArray() *Builder

func (*Builder) BeginObject

func (self *Builder) BeginObject() *Builder

func (*Builder) Bytes

func (self *Builder) Bytes() []byte

Bytes returns a compact UTF-8 string representation

func (*Builder) EndArray

func (self *Builder) EndArray() *Builder

func (*Builder) EndObject

func (self *Builder) EndObject() *Builder

func (*Builder) Name

func (self *Builder) Name(name string) *Builder

func (*Builder) String

func (self *Builder) String() string

String returns a tab indented string representation

func (*Builder) Tree

func (self *Builder) Tree() Tree

func (*Builder) Value

func (self *Builder) Value(value interface{}) *Builder

type Tree

type Tree struct {
	Data *interface{}
}

Tree wraps unmarshalled Tree data with a nice interface.

func FromBytes

func FromBytes(jsonBytes []byte) (result Tree, err error)

func FromFile

func FromFile(filename string) (Tree, error)

func FromReader

func FromReader(reader io.Reader) (Tree, error)

func FromString

func FromString(jsonString string) (Tree, error)

func FromURL

func FromURL(url string) (Tree, error)

func (Tree) Bytes

func (self Tree) Bytes() []byte

Bytes returns a compact UTF-8 string representation

func (Tree) GetBool

func (self Tree) GetBool(defaultValue ...bool) bool

func (Tree) GetFloat

func (self Tree) GetFloat(defaultValue ...float64) float64

func (Tree) GetInt

func (self Tree) GetInt(defaultValue ...int) int

func (Tree) GetString

func (self Tree) GetString(defaultValue ...string) string

func (Tree) Has

func (self Tree) Has(selector string) bool

func (Tree) IsArray

func (self Tree) IsArray() bool

func (Tree) IsBool

func (self Tree) IsBool() bool

func (Tree) IsNull

func (self Tree) IsNull() bool

func (Tree) IsNumber

func (self Tree) IsNumber() bool

func (Tree) IsObject

func (self Tree) IsObject() bool

func (Tree) IsString

func (self Tree) IsString() bool

func (Tree) IsValid

func (self Tree) IsValid() bool

func (Tree) Select

func (self Tree) Select(selector string) Tree

func (Tree) String

func (self Tree) String() string

String returns a tab indented string representation

type Writer

type Writer interface {
	WriteJSON(builder *Builder)
}

Implement Writer to handle writing JSON for a data-type yourself.

Jump to

Keyboard shortcuts

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