JsonPath
pup
Our great sponsors
JsonPath | pup | |
---|---|---|
10 | 52 | |
8,571 | 7,981 | |
1.3% | - | |
6.4 | 0.0 | |
4 days ago | 7 days ago | |
Java | HTML | |
Apache License 2.0 | 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.
JsonPath
- Ask HN: What is something you built but never marketed?
-
Running Jenkins on PR in Azure DevOps
As shown above in order to access the root element of a JSON payload we can create variable (data) and assign the $ (using Json Path convention) in the expression tab.
-
How would experienced devs handle checking JSON objects for specific property condition?
Look into JSONPath and its one Java implementation.
-
Like JQ, but for HTML
is anyone else using the https://github.com/json-path/JsonPath over the jq route?
I hope we standardize on some jq query language, like we have with a base set of SQL syntax
-
Which JSON parsers do not require me to duplicate the document model?
I use JsonPath for this. This fits my use case of picking apart JSON responses from APIs in Cucumber tests, which is based on textual descriptions and I'm not using Java classes for the mapping.
-
Traversing nested data-structures in various languages
JSONPath confers pretty much the same concept onto JSON too with much the same syntax. There are JPath implementations for most languages now.
pup
-
What monitoring tool do you use or recommend?
jq is pretty amazing. If you are comfortable with its jquery-like CSS selector syntax, then I should also mention a couple similar cli utilities that apply it to HTML: htmlp and pup.
- December 5, 2022: FLiP Stack Weekly
-
Show HN: A tool like jq, but for parsing HTML
This is HTML to JSON, written in Rust, and there's also pup[1] which I found out about just the other day on HN[2] which uses a very similar syntax (CSS selectors) but outputs HTML and is written in Go.
I can see room for both though it would interesting to have a more detailed comparison to go on (e.g. types of HTML, speed etc).
-
pup: Parsing HTML at the Command Line
It looks like the project became inactive for a bit and there are alternatives such as htmlq, etc. https://github.com/ericchiang/pup/issues/150
-
Show HN: Xq – command-line XML and HTML beautifier and content extractor
Shoutout to my go-to: https://github.com/EricChiang/pup#readme (also golang) and my 2nd favorite https://xmlstar.sourceforge.net/
-
How could I make a script that returns a list of the headers of the first 1000 search results for a given query?
To get search engine results you may have to parse HTML; search engines are often contractually prohibited from exposing their results via API without mandatory branding etc. If you wind up having to do that from bash, I recommend installing pup for the purpose.
-
Ask HN: What are the best tools for web scraping in 2022?
Unpopular opinion, but Bash/Shell Scripting. Seriously, it's probably the fastest way to get things done. For fetching, use cURL. Want to extract particular markup? Use pup[1]. Want to process csv? Use cskit[2]. Or JSON? Use jq[3]. Want to use DB? Use psql. Once you get the hang of shell scripting, you can create a scrapers by just wiring up these utils.
The only thing I wish was present was better support for RegExes. Bash and most unix tools don't support PCRE which can severely limiting. Plus, sometimes you want to process text as a whole vs line-by-line.
I would also recommend Python's sh[4] module is Shell scripting isn't your cup of tea. You get best of both worlds. Ease of use with Bash utils, and a saner syntax.
- Any cool cURL/wget tools that you use?
-
An introduction to the magic of jq - Understanding the basics of jq with a realistic example
And for HTML, there is also https://github.com/ericchiang/pup.
What are some alternatives?
Jolt - JSON to JSON transformation library written in Java.
fastjson - FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
JsonSurfer - A streaming JsonPath processor in Java
JSLT - JSON query and transformation language
htmlq - Like jq, but for HTML.
sawmill - Sawmill is a JSON transformation Java library
jsoup - jsoup: the Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety.
yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
MapNeat - MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJO to JSON in a declarative way.
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.
gron - Make JSON greppable!