jq pro JSON

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é!