📜  bash 从 json 获取属性 - Javascript (1)

📅  最后修改于: 2023-12-03 15:13:37.172000             🧑  作者: Mango

Bash 从 JSON 获取属性 - Javascript

在 Bash 中,我们可以使用 jq 命令来解析 JSON 数据并提取所需的属性。jq 是一个基于命令行的工具,使用简单而且功能强大,支持处理 JSON 数据的各种操作。

安装 jq

首先,我们需要在系统中安装 jq 工具。在 Ubuntu 系统中,可以使用以下命令来安装:

sudo apt-get update
sudo apt-get install jq

在 macOS 系统中,可以使用以下命令来安装:

brew install jq
解析 JSON 数据

假设有以下 JSON 数据:

{
   "name": "Tom",
   "age": 25,
   "email": "tom@example.com",
   "address": {
      "city": "Beijing",
      "country": "China"
   }
}

我们可以使用 jq 命令来解析 JSON 数据,并提取所需的属性:

cat data.json | jq '.name'

该命令会输出 Tom

获取嵌套属性

如果 JSON 数据中包含嵌套属性,我们可以使用 . 符号来获取嵌套属性。例如,假设有以下 JSON 数据:

{
   "person": {
      "name": "Tom",
      "age": 25,
      "address": {
         "city": "Beijing",
         "country": "China"
      }
   }
}

我们可以使用以下命令来获取 city 的值:

cat data.json | jq '.person.address.city'

该命令会输出 Beijing

过滤数据

我们也可以使用 jq 命令来过滤数据。例如,假设有以下 JSON 数组数据:

[
   {
     "name": "Tom",
     "age": 25
   },
   {
     "name": "John",
     "age": 30
   },
   {
     "name": "Mary",
     "age": 22
   }
]

我们可以使用以下命令来过滤出年龄大于 25 的对象:

cat data.json | jq '.[] | select(.age > 25)'

该命令会输出以下结果:

{
  "name": "John",
  "age": 30
}
总结

使用 jq 命令可以简单快捷地解析 JSON 数据,并提取所需的属性。同时,jq 还支持各种操作,可以方便地处理 JSON 数据中的嵌套属性和过滤数据。如果你经常需要处理 JSON 数据,那么学习使用 jq 绝对会事半功倍。