This project presents and utilizes YAML Paths, which are a powerful, intuitive means of identifying one or more nodes within YAML, EYAML, or compatible data structures like JSON. Both dot-notation (inspired by Hiera) and forward-slash-notation (influenced by XPath) are supported. The libraries (modules) and several command-line tool implementations are provided. With these, you can build YAML Path support right into your own application or easily use its capabilities right away from the command-line to retrieve, update, merge, validate, and scan YAML/JSON/Compatible data.
This implementation of YAML Path is a query language in addition to a node descriptor. With it, you can describe or select a single precise node or search for any number of nodes that match some criteria. Keys, values, elements, anchors, and aliases can all be searched at any number of levels within the data structure using the same query. Collectors can also be used to gather and further select from otherwise disparate parts of the source data.
Basically, it's like JSONpath, but for YAML.
An online version of the jq tool, suitable for exploring, experimenting, and debugging.
jq is a command line JSON parser that implements JSONpath syntax for slicing, dicing, and querying arbitrary JSON documents. Perfect for when your favorite online JSONpath expression tester can't handle that two gigabyte JSON dump somebody just gave you to parse...