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.