首页 > 解决方案 > 使用 jq,获取数组中 shell 定义的 JSON 对象内的特定键的值

问题描述

鉴于:

   [{
    "customer.name":"malinda",
    "customer.details":"test123"
    }]

使用 jq,获取“customer.name”的值。

我的尝试:

echo $response | jq -r .[] | "customer.name"

标签: jsonlinuxxcodeshelljq

解决方案


使用 jq:

echo '[{ "customer.name":"malinda", "customer.details":"test123" }]' | 
  jq '.[]."customer.name"'

或不带双引号:

echo '[{ "customer.name":"malinda", "customer.details":"test123" }]' |
  jq -r '.[]."customer.name"'

由于点.既不是字母数字也不是下划线,因此您需要引用键名。


推荐阅读