کاوش ابزار ./jq – DEV Community

من امروز به این پادکست، Kodsnack 585 (به زبان سوئدی) گوش دادم که در مورد ابزار jq بحث می کند. این ابزار برای مدتی در رادار من بود و این قسمت باعث شد بالاخره آن را امتحان کنم.
این jq
ابزار از مخزن اوبونتو در دسترس است و می تواند به این صورت نصب شود.
sudo apt-get install jq
ما قصد داریم از این مثال JSON از json.org برای آزمایش برخی چیزها با jq استفاده کنیم. cat data.json
، توجه داشته باشید که قالب بندی فایل عمداً کامل نیست:
{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500},
"image": {"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}}}
اولین دستور jq چاپ زیبای JSON خواهد بود. jq . data.json
و برای استخراج یک فیلد از داده های JSON، می توانید از این دستور استفاده کنید. jq '.widget.window.title' data.json
.
با استفاده از دستور می توانیم یک فیلد را حذف کنیم jq 'map(del(.text))' data.json
.
لیست کردن تمام فیلدها در فایل امکان پذیر است، jq '[.. | objects | keys[]] | unique' data.json
.
این لیست می تواند برای همیشه ادامه یابد، jq
ابزار ویژگی های زیادی برای کاوش دارد و من فقط کمی از سطح را در اینجا خراشیده ام. به نظر می رسد یک نقطه شروع خوب برای کسب اطلاعات بیشتر، ویکی در مخزن GitHub jq باشد. یادداشتهای نمایش از پادکست Kodsnack دارای منابع عالی نیز هستند.
با این حال، اکنون این ابزار را روی دستگاه خود دارم و میتوانم هر زمان که نیاز به تبدیل یا درخواست دادههای JSON داشته باشم، آن را امتحان کنم.
پرس و جو مبارک!