«имя» не является ключом верхнего уровня. Рассмотрим вместо этого:
а, я пытаюсь использовать jq, чтобы получить значения json из файла json, он должен дать мне t1, t2 и t3, но это даст мне нулевое значение. Я включил файл JSON ниже, я пытался делать различные варианты JQ. Я хочу получить значения t1, t2, t3 из поля 'name', а затем присвоить значения массиву, который является переменным, чтобы я мог обратиться к массиву и выполнить POST.
jq '.name' good.json
null
$ cat good.json
{
"kind": "tm:ltm:virtual:virtualcollectionstate",
"selfLink": "https://localhost/mgmt/tm/ltm/virtual?ver=12.0.0",
"items": [
{
"kind": "tm:ltm:virtual:virtualstate",
"name": "t1",
"partition": "Common",
"fullPath": "/Common/t1",
"generation": 124,
"selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~t1?ver=12.0.0",
"addressStatus": "yes",
"autoLasthop": "default",
"cmpEnabled": "yes",
"connectionLimit": 0,
"destination": "/Common/3.3.3.3:80",
"enabled": true,
"gtmScore": 0,
"ipProtocol": "tcp",
"mask": "255.255.255.255",
"mirror": "disabled",
"mobileAppTunnel": "disabled",
"nat64": "disabled",
"rateLimit": "disabled",
"rateLimitDstMask": 0,
"rateLimitMode": "object",
"rateLimitSrcMask": 0,
"serviceDownImmediateAction": "none",
"source": "0.0.0.0/0",
"sourceAddressTranslation": {
"type": "none"
},
"sourcePort": "preserve",
"synCookieStatus": "not-activated",
"translateAddress": "enabled",
"translatePort": "enabled",
"vlansDisabled": true,
"vsIndex": 21,
"policiesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t1/policies?ver=12.0.0",
"isSubcollection": true
},
"profilesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t1/profiles?ver=12.0.0",
"isSubcollection": true
}
},
{
"kind": "tm:ltm:virtual:virtualstate",
"name": "t2",
"partition": "Common",
"fullPath": "/Common/t2",
"generation": 178,
"selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~t2?ver=12.0.0",
"addressStatus": "yes",
"autoLasthop": "default",
"cmpEnabled": "yes",
"connectionLimit": 0,
"destination": "/Common/4.4.4.4:80",
"enabled": true,
"gtmScore": 0,
"ipProtocol": "tcp",
"mask": "255.255.255.255",
"mirror": "disabled",
"mobileAppTunnel": "disabled",
"nat64": "disabled",
"rateLimit": "disabled",
"rateLimitDstMask": 0,
"rateLimitMode": "object",
"rateLimitSrcMask": 0,
"serviceDownImmediateAction": "none",
"source": "0.0.0.0/0",
"sourceAddressTranslation": {
"type": "none"
},
"sourcePort": "preserve",
"synCookieStatus": "not-activated",
"translateAddress": "enabled",
"translatePort": "enabled",
"vlansDisabled": true,
"vsIndex": 22,
"policiesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t2/policies?ver=12.0.0",
"isSubcollection": true
},
"profilesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t2/profiles?ver=12.0.0",
"isSubcollection": true
}
},
{
"kind": "tm:ltm:virtual:virtualstate",
"name": "t3",
"partition": "Common",
"fullPath": "/Common/t3",
"generation": 179,
"selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~t3?ver=12.0.0",
"addressStatus": "yes",
"autoLasthop": "default",
"cmpEnabled": "yes",
"connectionLimit": 0,
"destination": "/Common/5.5.5.5:80",
"enabled": true,
"gtmScore": 0,
"ipProtocol": "tcp",
"mask": "255.255.255.255",
"mirror": "disabled",
"mobileAppTunnel": "disabled",
"nat64": "disabled",
"rateLimit": "disabled",
"rateLimitDstMask": 0,
"rateLimitMode": "object",
"rateLimitSrcMask": 0,
"serviceDownImmediateAction": "none",
"source": "0.0.0.0/0",
"sourceAddressTranslation": {
"type": "none"
},
"sourcePort": "preserve",
"synCookieStatus": "not-activated",
"translateAddress": "enabled",
"translatePort": "enabled",
"vlansDisabled": true,
"vsIndex": 23,
"policiesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t3/policies?ver=12.0.0",
"isSubcollection": true
},
"profilesReference": {
"link": "https://localhost/mgmt/tm/ltm/virtual/~Common~t3/profiles?ver=12.0.0",
"isSubcollection": true
}
}
]
}