jmespath.py
gron
Our great sponsors
jmespath.py | gron | |
---|---|---|
30 | 63 | |
2,049 | 13,413 | |
1.8% | - | |
0.0 | 0.0 | |
9 days ago | 5 months ago | |
Python | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jmespath.py
-
Automating Nightly Local Database Refreshes from Azure Blob Storage with Docker
The Azure CLI lets us write queries to filter the results of the az storage blob list command. The queries are written in JMESPath, which is a query language for JSON. In this case, we are filtering the results to only include blobs that end with the .bacpac extension and then selecting the first one as ordered by the lastModified property. If there are no blobs found, the script exits with a failure code. If we find a blob, we download it to the local path specified by the localPath variable.
-
What's New in Python 3.12
For JSON there is the `jmespath` library which might help.
-
jq 1.7 Released
I love jq, but I also use JMESPath (especially with AWS CLI), yq (bundled with tomlq and xq as well), and dasel [2]. I also wish hclq [3] wasn't so dead!
-
Announcing serde-query 0.2.0
Probably writing the query side of things is a lot of the fun here, but there is actually a spec (and a complying Rust impl) you can hook into for this JQ-like querying: https://jmespath.org/ ( https://github.com/jmespath/jmespath.rs ).
-
Spring Boot logging with Loki, Promtail, and Grafana (Loki stack)
Thanks to custom variables that use labels, we can create various filters for the dashboard. You can look up my configuration of variables and extend it with an analogy way for your own needs. At the top, I marked the filter with detected pods in selected namespace. In the lower part, you can see a preview of all labels that are associated with a single log line. Most labels are meta information that Promtail adds during scraping targets. This part of the Promtail configuration provides it. In this section, I also marked a few labels that not comes out-of-the box e.g. leavel , class , thread . We added these labels using the Promtail json stage. You need to know that Promtail processes scraped logs in a pipeline. A pipeline is comprised of a set of stages. json stage is a parsing stage that reads the log line as JSON and accepts JMESPath expressions to extract data.
-
jmespath.py VS jertl - a user suggested alternative
2 projects | 31 Oct 2022
-
I've built a PathDict, a library that makes it easy to work with dicts!
Interesting. How does this compared to Jmespath? Not saying Jmespath is superior, just wondering whether you were aware of it.
- Ask HN: What is something you built but never marketed?
-
I wrote a JSON parsing library that makes it easy to query and even do arithmetic operations on JSON.
We also have jmespath
-
Type-Checked Keypaths in Rust
JMESPath is what JSONPath should have been
specified, standardized, with tests and implementations for multiple languages
gron
-
Show HN: Flatito, grep for YAML and JSON files
This looks cool!
It doesn't do quite the same thing, but a tool I've had good luck with for quick-n-dirty grepping of JSON is gron:
https://github.com/tomnomnom/gron
(which I'm sure I learned about from a thread like this on HN...)
It sort of "flattens out" your JSON to allow you to do whatever you want to it (grepping, for one thing!). Then you can even turn gron's output back into JSON with `ungron`.
Maybe someone will find it a useful toolbox addition, much like the Flatito looks to be!
-
Make JSON Greppable
It buffers all of its output statements in memory before writing to stdout:
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Jaq – A jq clone focused on correctness, speed, and simplicity
Have you tried `gron`?
It converts your nested json into a line by line format which plays better with tools like `grep`
From the project's README:
▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page..." | fgrep "commit.author"
json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z";
json[0].commit.author.email = "[email protected]";
json[0].commit.author.name = "Tom Hudson";
https://github.com/tomnomnom/gron
It was suggested to me in HN comments on an article I wrote about `jq`, and I have found myself using it a lot in my day to day workflow
Obligatory reference to "gron" ("make JSON greppable"), which I find to be quite useful for many common use cases:
-
Interactive Examples for Learning Jq
> So all I want is a tool to go from json => line oriented and I will do the rest with the vast library of experience I already have at transformations on the command line.*
The tool for that is likely https://github.com/tomnomnom/gron
-
Modern Linux Tools vs. Unix Classics: Which Would I Choose?
If JQ is too much, see GRON &| Miller
gron transforms JSON into discrete assignments to make it easier to grep for what you want https://github.com/tomnomnom/gron
Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON https://github.com/johnkerl/miller
- XML is better than YAML
What are some alternatives?
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jq - Command-line JSON processor
jfq - JSONata on the command line
xidel - Command line tool to download and extract data from HTML/XML pages or JSON-APIs, using CSS, XPath 3.0, XQuery 3.0, JSONiq or pattern matching. It can also create new or transformed XML/HTML/JSON documents.
pup - Parsing HTML at the command line
JsonPath - Java JsonPath implementation
yq - yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor
fx - Terminal JSON viewer & processor
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
jello - CLI tool to filter JSON and JSON Lines data with Python syntax. (Similar to jq)