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:

如果你有一个Bash变量中的JSON,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需求的多功能工具。