Bash:
עבודה עם JSON
איך לעשות:
Bash עצמו חסר יכולות פרסור JSON מובנות, אך jq
הוא מעבד שורת פקודה JSON חזק שממלא את החסר. הנה איך להשתמש בו:
קריאת קובץ JSON:
דוגמה לdata.json
:
{
"name": "Jane Doe",
"email": "[email protected]",
"location": {
"city": "New York",
"country": "USA"
}
}
לקרוא ולחלץ את השם מתוך הקובץ JSON:
jq '.name' data.json
פלט:
"Jane Doe"
שינוי נתוני JSON:
עדכון העיר ל"Los Angeles" וכתיבה חוזרת לקובץ:
jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json
פרסור JSON מתוך משתנה:
אם יש לך JSON במשתנה של Bash, jq
יכול עדיין לעבד אותו:
json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'
פלט:
"John Doe"
עבודה עם מערכים:
נתון מערך של פריטים בJSON:
{
"items": ["apple", "banana", "cherry"]
}
לחלץ את הפריט השני (האינדקסים מתחילים מ-0):
jq '.items[1]' data.json
פלט:
"banana"
לפעולות מורכבות וסינון נוסף, ל-jq
יש מדריך מלא ומדריכים מקוונים, הופך אותו לכלי גמיש לכל הצרכים שלך ב-Bash/JSON.