type jsonContext … const none … const objKey … const objValue … const arrValue … const AnyIndex … type JsonPath … func (p *JsonPath) push(n interface{ … } func (p *JsonPath) pop() { … } // increment the index at the top of the stack (must be an array index) func (p *JsonPath) incTop() { … } // name the key at the top of the stack (must be an object key) func (p *JsonPath) nameTop(n string) { … } // infer the context from the item at the top of the stack func (p *JsonPath) inferContext() jsonContext { … } // Equal tests for equality between two JsonPath types. func (p *JsonPath) Equal(o JsonPath) bool { … } func (p *JsonPath) HasPrefix(o JsonPath) bool { … }