Byl jsem dost starý na to, abych si pamatoval, když jsme si mysleli, že XML změní svět programování...pak nás z toho pekla zachránil JSON. Analýza a dotazování na data JSON je základní úkol, pro který jsme všichni kódovali, ale někdy chci jen získat nějaká data lokálně s minimálním zmatkem. Právě jsem se dozvěděl o opravdu úžasné knihovně:jq
. Pojďme se podívat na pár skvělých věcí, které můžeme dělat s jq
!
Začněte instalací jq
prostřednictvím nástroje jako Homebrew:
brew install jq
S nainstalovaným Homebrew a místním actors.json
soubor, pojďme pracovat na stahování dat!
// Using this JSON file: // https://raw.githubusercontent.com/algolia/datasets/master/movies/actors.json // Get the 10th item in an array cat actors.json | jq '.[10]' // { // "name": "Dwayne Johnson", // "rating": 1568, // "image_path": "/akweMz59qsSoPUJYe7QpjAc2rQp.jpg", // "alternative_name": "The Rock", // "objectID": "551486400" // } // Get a property from the 10th item in array // > "Dwayne Johnson" // Get multiple items jq '.[10:12]' // Get items up to the 12th position jq '.[:12]' // Get items after the 12th position jq '.[12:]' // Get an array of properties from all objects jq '.[].name' // > ["William Shatner", "Will Ferrell", ...] // Create an object with only properties I want jq '{ name: .[].name, rating: .[].rating}' // Built in functions! jq 'sort' jq 'length' jq 'reverse'
Existuje spousta dalších způsobů, jak použít jq
, takže vřele doporučuji, abyste se podívali na JQ Select Explained:Selecting elements from JSON. Ponechám si jq
užitečné v dohledné budoucnosti, protože bude neocenitelné!