Documentation
      ¶
    
    
  
    
  
    Overview ¶
package jsonpath is a template engine using jsonpath syntax, which can be seen at http://goessner.net/articles/JsonPath/. In addition, it has {range} {end} function to iterate list and slice.
Index ¶
- Variables
 - type ArrayNode
 - type FieldNode
 - type FilterNode
 - type FloatNode
 - type IdentifierNode
 - type IntNode
 - type JSONPath
 - func (j *JSONPath) AllowMissingKeys(allow bool) *JSONPath
 - func (j *JSONPath) Execute(wr io.Writer, data interface{}) error
 - func (j *JSONPath) FindResults(data interface{}) ([][]reflect.Value, error)
 - func (j *JSONPath) Parse(text string) (err error)
 - func (j *JSONPath) PrintResults(wr io.Writer, results []reflect.Value) error
 
- type ListNode
 - type Node
 - type NodeType
 - type ParamsEntry
 - type Parser
 - type RecursiveNode
 - type TextNode
 - type UnionNode
 - type WildcardNode
 
Constants ¶
This section is empty.
Variables ¶
var NodeTypeName = map[NodeType]string{ NodeText: "NodeText", NodeArray: "NodeArray", NodeList: "NodeList", NodeField: "NodeField", NodeIdentifier: "NodeIdentifier", NodeFilter: "NodeFilter", NodeInt: "NodeInt", NodeFloat: "NodeFloat", NodeWildcard: "NodeWildcard", NodeRecursive: "NodeRecursive", NodeUnion: "NodeUnion", }
Functions ¶
This section is empty.
Types ¶
type ArrayNode ¶
type ArrayNode struct {
	NodeType
	Params [3]ParamsEntry //start, end, step
}
    ArrayNode holds start, end, step information for array index selection
type FilterNode ¶
FilterNode holds operand and operator information for filter
func (*FilterNode) String ¶
func (f *FilterNode) String() string
type IdentifierNode ¶
IdentifierNode holds an identifier
func (*IdentifierNode) String ¶
func (f *IdentifierNode) String() string
type JSONPath ¶
type JSONPath struct {
	// contains filtered or unexported fields
}
    func (*JSONPath) AllowMissingKeys ¶ added in v1.5.0
AllowMissingKeys allows a caller to specify whether they want an error if a field or map key cannot be located, or simply an empty result. The receiver is returned for chaining.
func (*JSONPath) FindResults ¶
type ParamsEntry ¶
ParamsEntry holds param information for ArrayNode
type Parser ¶
type RecursiveNode ¶
type RecursiveNode struct {
	NodeType
}
    RecursiveNode means a recursive descent operator
func (*RecursiveNode) String ¶
func (r *RecursiveNode) String() string
type WildcardNode ¶
type WildcardNode struct {
	NodeType
}
    WildcardNode means a wildcard
func (*WildcardNode) String ¶
func (i *WildcardNode) String() string