无法使用 jq 过滤 JSON 输出。我正在使用卷曲
Unable to filter JSON output using jq. I am using CURL
我无法过滤以下内容。
我需要找出以下 JSON 文件的名称标签下以 "SnapshotSet" 开头的名称的数量。
示例 - "name": "SnapshotSet.1475076959480"
作为第一步,我尝试过滤掉所有以 SnapshotSet 开头的名称...但收到以下错误。
jq'.snapshot-sets[]' testjq
错误:集合未定义
但是当我过滤掉链接时,我能够得到一个输出
jq '.links[]' testjq
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/",
"rel": "self"
}
这个名字有什么关系吗"snapshot-sets"?
请在下面找到 JSON 文件。
{
"links": [
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/",
"rel": "self"
}
],
"snapshot-sets": [
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/1",
"name": "SnapshotSet.1475076959480"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/3",
"name": "SnapshotSet.1475165496304"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/2",
"name": "SnapshotSet.1475158265437"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/63659",
"name": "server1a_b_c_STFS1474869600618"
},
如 here 所述,当键包含 -
字符时,不能使用缩写形式 .keyname
。
您可以运行以下操作从您的文件中获取所有名称的列表:
jq '."snapshot-sets"[].name' testjq
我无法过滤以下内容。
我需要找出以下 JSON 文件的名称标签下以 "SnapshotSet" 开头的名称的数量。
示例 - "name": "SnapshotSet.1475076959480"
作为第一步,我尝试过滤掉所有以 SnapshotSet 开头的名称...但收到以下错误。
jq'.snapshot-sets[]' testjq
错误:集合未定义
但是当我过滤掉链接时,我能够得到一个输出
jq '.links[]' testjq
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/",
"rel": "self"
}
这个名字有什么关系吗"snapshot-sets"?
请在下面找到 JSON 文件。
{
"links": [
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/",
"rel": "self"
}
],
"snapshot-sets": [
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/1",
"name": "SnapshotSet.1475076959480"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/3",
"name": "SnapshotSet.1475165496304"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/2",
"name": "SnapshotSet.1475158265437"
},
{
"href": "https://test.com/api/json/v2/types/snapshot-sets/63659",
"name": "server1a_b_c_STFS1474869600618"
},
如 here 所述,当键包含 -
字符时,不能使用缩写形式 .keyname
。
您可以运行以下操作从您的文件中获取所有名称的列表:
jq '."snapshot-sets"[].name' testjq