Bash:
การทำงานกับ JSON

วิธีการ:

Bash เองไม่มีความสามารถในการแยกส่วน JSON ที่ติดตั้งมาด้วย แต่ jq เป็นโปรแกรมแปรรูป JSON ใน command-line ที่มีประสิทธิภาพและสามารถช่วยเติมเต็มส่วนที่ขาดหายไปนี้ นี่คือวิธีใช้งาน:

การอ่านไฟล์ 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.