Как использовать jq для получения атрибута из json - PullRequest
0 голосов
/ 19 ноября 2018

Я написал bash-файл для получения значения атрибута из json. Но это говорит, что данные не показаны. Не уверен, как заставить JQ работать в моей коробке Linux. Может кто-нибудь, пожалуйста, помогите.

 curl -v -H "Content-Type: application/json"  -X GET  'URL'  > myFile.json

    cat myFile.json | jq '.offerVerticalMap["GROCERIES.offerPublishStatus"]'

в myFile.json создается json, но я не могу получить значение атрибута.

пожалуйста, кто-нибудь может рассмотреть это в ближайшее время?

 offerVerticalMap": {
"GROCERIES": {
"vertical": "GROCERIES",
"offerPublishStatus": "PUBLISHED",
"targetStatus": "IN_PROGRESS",
"statusChangeReasons": { },
"statusChangedBy": "GateKeeper",
"publishStatusOverridden": false,
"publishStatusChangeDtm": 1539062374714,
"verticalEligibility": true,
"verticalEligibilityChangeReasons": {
"GE_SERVICE": "[[Global Eligibility]]"
},
"verticalEligibilityChangeDtm": 1542349224297
},

это мой JSON, мне нужно получить предложениеPublishStatus

Спасибо

1 Ответ

0 голосов
/ 19 ноября 2018

Ваш json по-прежнему отображается как недействительный. Во всяком случае, я прилагаю образец JSON и как извлечь его через jq. Пожалуйста, смотрите ниже:

~$ cat n1.json
[  
   {  
      "name":"sandboxserver.tar.gz.part-aa",
      "hash":"010d126f8ccf199f3cd5f468a90d5ae1",
      "bytes":4294967296,
      "last_modified":"2018-10-10T01:32:00.069000",
      "content_type":"binary/octet-stream"
   },
   {  
      "name":"sandboxserver.tar.gz.part-ab",
      "hash":"49a6f22068228f51488559c096aa06ce",
      "bytes":397973601,
      "last_modified":"2018-10-10T01:32:22.395000",
      "content_type":"binary/octet-stream"
   },
   {  
      "name":"sandboxserver.tar.gz.part-ac",
      "hash":"2c5e845f46357e203214592332774f4c",
      "bytes":5179281858,
      "last_modified":"2018-10-11T08:20:11.566000",
      "content_type":"binary/octet-stream"
   }
]

А затем использовал jq, чтобы найти имена:

~$ jq -r '.[].name' n1.json
sandboxserver.tar.gz.part-aa
sandboxserver.tar.gz.part-ab
sandboxserver.tar.gz.part-ac

Дайте мне знать, если это поможет.

...