shell - Как получить значение из json reponse с jq - PullRequest
0 голосов
/ 15 мая 2018

Мне нужно получить «mxa.mailgun.org» с jq в bash

json-ответ на запрос curl в api:

{
 "domain": {
    "created_at": "Sun, 13 May 2018 09:48:21 GMT",
    "id": "5af809e51f4b8b00011ee1aa",
    "name": "leadedign.co.uk",
    "require_tls": false,
    "skip_verification": false,
    "smtp_login": "postmaster@leddesign.co.uk",
    "smtp_password": "07d1dee-43f1869c",
    "spam_action": "disabled",
    "state": "unverified",
    "type": "custom",
    "web_prefix": "email",
    "web_scheme": "http",
    "wildcard": false
  },
  "message": "Domain DNS records have been updated",
  "receiving_dns_records": [
    {
      "cached": [
        "1 leadeesign.co.uk"
      ],
      "priority": "10",
      "record_type": "MX",
      "valid": "unknown",
      "value": "mxa.mailgun.org"
    },
    {
      "cached": [
        "1 leaesign.co.uk"
      ],
      "priority": "10",
      "record_type": "MX",
      "valid": "unknown",
      "value": "mxb.mailgun.org"
    }
  ]
  }

Я пытался:

curl -X PUT -s --user 'api:key-1659e3c0faff2c4e96e4' -G  https://api.mailgun.net/v3/domains/leadereign.co.uk/verify -d skip=0 -d limit=3 | jq '.[] | {receiving_dns_records: .[]}'

        curl -X PUT -s --user 'api:key-165903eaff2c4e96e4' -G  https://api.mailgun.net/v3/domains/leaderfeign.co.uk/verify -d skip=0 -d limit=3 | jq '.[] | {receiving_dns_records: .[value]}'

пс.ключ домена и API изменен в целях безопасности.этот запрос curl не будет работать.

1 Ответ

0 голосов
/ 15 мая 2018

Требуется значение «value» элемента first «receive_dns_records»:

jq -r '.receiving_dns_records[0].value'
...