JSON QUERY разбор подсказки - PullRequest
0 голосов
/ 15 января 2019

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

awseb-е-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

1 Ответ

0 голосов
/ 15 января 2019

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

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

.EnvironmentResources.AutoScalingGroups[].Name

Debugging

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

jq: ошибка: невозможно индексировать массив строкой

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

...