Json 使用 linux 命令提取响应数据
Json response data extraction using linux command
下面是 api 端点的 json 响应,我想在下面的 json 响应数组中获取特定名称的 ID 值。
{
"self": "https://testtoo.atlassian.net/rest/api/3/project/TEST/version?maxResults=50&startAt=0",
"maxResults": 50,
"startAt": 0,
"total": 2,
"isLast": true,
"values": [
{
"self": "https://testtoo.atlassian.net/rest/api/3/version/10001",
"id": "10001",
"description": "test release",
"name": "test2",
"archived": false,
"released": true,
"releaseDate": "2021-12-29",
"userReleaseDate": "29/Dec/21",
"projectId": 10000
},
{
"self": "https://testtoo.atlassian.net/rest/api/3/version/10002",
"id": "10002",
"name": "test3",
"archived": false,
"released": true,
"projectId": 10000
}
]
}
例如:我想在名称键的帮助下获取名称 test3 的 ID 值 (10002)。使用 jq 我可以 select 名称键,但我找不到使用名称键获取先前键值(id)的方法!我的需求是输入对应的name值得到id值
尝试
jq -r --arg name "test3" '.values[] | select(.name== $name).id'
10002
下面是 api 端点的 json 响应,我想在下面的 json 响应数组中获取特定名称的 ID 值。
{
"self": "https://testtoo.atlassian.net/rest/api/3/project/TEST/version?maxResults=50&startAt=0",
"maxResults": 50,
"startAt": 0,
"total": 2,
"isLast": true,
"values": [
{
"self": "https://testtoo.atlassian.net/rest/api/3/version/10001",
"id": "10001",
"description": "test release",
"name": "test2",
"archived": false,
"released": true,
"releaseDate": "2021-12-29",
"userReleaseDate": "29/Dec/21",
"projectId": 10000
},
{
"self": "https://testtoo.atlassian.net/rest/api/3/version/10002",
"id": "10002",
"name": "test3",
"archived": false,
"released": true,
"projectId": 10000
}
]
}
例如:我想在名称键的帮助下获取名称 test3 的 ID 值 (10002)。使用 jq 我可以 select 名称键,但我找不到使用名称键获取先前键值(id)的方法!我的需求是输入对应的name值得到id值
尝试
jq -r --arg name "test3" '.values[] | select(.name== $name).id'
10002