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.