jp
scout
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.
jp
-
Using 'jq' to extract an IP from a JSON. Need help
Several jq solutions here already, here's how you could do this in jp (pure Bash).
-
Bash Function Names Can Be Almost Anything
Seriously though, the article leads to the author's jp bash script which allows processing of JSON. It could be useful - but why it exists when jq is available, I don't know. Nonetheless, it looks like an impressive acheivment.
-
Guidance in building a .json config file with bash script.
color='foobar';cat tests/share/package.json | jp '{"color":"'"$color"'"}' jp.++ { "color": "foobar", "name": "jp", "version": "0.0.1", "description": "A JSON processor written in Bash", "homepage": "http://github.com/dnmfarrell/jp", "repository": { "type": "git", "url": "https://github.com/dnmfarrell/jp.git" }, "bin": { "jp": "./jp" }, "dependencies": {}, "devDependencies": {}, "author": "David Farrell" }
-
jp - a real json processor in bash
However there was a flaw in how jp parsed large input: it repeatedly copied the input string which, for large inputs made it very slow. Maybe that's what you ran into? That is fixed now. jp can parse the 128kb of json in tests/share/ec2-describe-instances.json for example.
scout
-
Is there a neat way to work with deeply-nested JSON?
I developed a library that is better suited for such cases than plain Decodable. You can specify a path in the data and at the end of the path specify a Decodable type to be instantiated from the data.
-
A different way of reading JSON: Part 2!
Not 100% sure but you might find Scout interesting for your needs
-
Best practices for parsing dynamic/unstructured JSON?
I developed Scout for this exact purpose because I had to find a solution to get a value when the data structure is not known at build time.
- Scout 2. ;. ;
-
Get XML, parse output, get a date and calculate differences?
If you are ok to use a program, you can use Scout like that: curl [your curl request here] | scout read -f xml "a-valid-date"
-
Guidance in building a .json config file with bash script.
For a clear and simple syntax, you can take a look at Scout.
-
Take that, Codable
I have been working myself on Scout to work on data when the format is not known at build time (for instance with a generic command line tool). And I have never had the tuple decoding requested. Although this might be useful for some people.
What are some alternatives?
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
python-benedict - :blue_book: dict subclass with keylist/keypath support, built-in I/O operations (base64, csv, html, ini, json, pickle, plist, query-string, toml, xls, xml, yaml), s3 support and many utilities.
jq - Command-line JSON processor
jp - Command line interface to JMESPath - http://jmespath.org
Gogh - Gogh is a collection of color schemes for various terminal emulators, including Gnome Terminal, Pantheon Terminal, Tilix, and XFCE4 Terminal also compatible with iTerm on macOS.
ZippyJSON - A much faster version of JSONDecoder
Scout - Surveillance Detection Scout: Your Lookout on Autopilot
BackedCodable - Powerful property wrapper to back codable properties.
egpu-switcher - 🖥🐧 Setup script for eGPUs in Linux (X.Org)
EVReflection - Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
dayone-json-to-obsidian - Update Obsidian vault from Day One (“DayOne”) JSON using command line scripts.
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks