Совет по синтаксическому анализу JSON QUERY

просто хочу получить несколько советов экспертов о том, как получить только это из AutoScalingGroups:

awseb-e-ASG

Фактический вывод JSON

{
"EnvironmentResources": {
    "EnvironmentName": "MY-APP",
    "AutoScalingGroups": [
        {
            "Name": "awseb-e-ASG"
        }
    ],
    "Triggers": [],
    "LoadBalancers": [
        {
            "Name": "awseb-e-ELB"
        }
    ],
    "Queues": [],
    "Instances": [
        {
            "Id": "i-XXXXXXXXXXXXXXXd"
        }
    ],
    "LaunchConfigurations": [
        {
            "Name": "awseb-e-LAUNCH"
        }
    ]
}
}

Я пробовал несколько команд, но получил только следующее:

jq -r ".EnvironmentResources.LaunchConfigurations"

[
 {
  "Name": "awseb-e-ASG"
 }
]


jq -r ".EnvironmentResources.LaunchConfigurations.Name"
jq: error: Cannot index array with string
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
0
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

awseb-e-ASG находится в .AutoScalingGroups

так что вы можете использовать следующий фильтр:

.EnvironmentResources.AutoScalingGroups[].Name

Отладка

Обычно стоит обратить внимание на сообщение об ошибке:

jq: error: Cannot index array with string

Это, по сути, говорит вам, что .LaunchConfigurations.Name ошибочен, потому что .LaunchConfigurations является массивом и, следовательно, не может иметь строкового ключа.

Другие вопросы по теме