我希望從這個 JSON 檔案中提取 cat 事實:
[
{
"status": {
"verified": true,
"feedback": "",
"sentCount": 1
},
"_id": "5887e1d85c873e0011036889",
"user": "5a9ac18c7478810ea6c06381",
"text": "Cats make about 100 different sounds. Dogs make only about 10.",
"__v": 0,
"source": "user",
"updatedAt": "2020-09-03T16:39:39.578Z",
"type": "cat",
"createdAt": "2018-01-15T21:20:00.003Z",
"deleted": false,
"used": true
},
{
"status": {
"verified": true,
"sentCount": 1
},
"_id": "588e746706ac2b00110e59ff",
"user": "588e6e8806ac2b00110e59c3",
"text": "Domestic cats spend about 70 percent of the day sleeping and 15 percent of the day grooming.",
"__v": 0,
"source": "user",
"updatedAt": "2020-08-26T20:20:02.359Z",
"type": "cat",
"createdAt": "2018-01-14T21:20:02.750Z",
"deleted": false,
"used": true
},
{
"status": {
"verified": true,
"sentCount": 1
},
"_id": "58923f2fc3878c0011784c79",
"user": "5887e9f65c873e001103688d",
"text": "I don't know anything about cats.",
"__v": 0,
"source": "user",
"updatedAt": "2020-08-23T20:20:01.611Z",
"type": "cat",
"createdAt": "2018-02-25T21:20:03.060Z",
"deleted": false,
"used": false
},
{
"status": {
"verified": true,
"sentCount": 1
},
"_id": "5894af975cdc7400113ef7f9",
"user": "5a9ac18c7478810ea6c06381",
"text": "The technical term for a cat’s hairball is a bezoar.",
"__v": 0,
"source": "user",
"updatedAt": "2020-11-25T21:20:03.895Z",
"type": "cat",
"createdAt": "2018-02-27T21:20:02.854Z",
"deleted": false,
"used": true
},
{
"status": {
"verified": true,
"sentCount": 1
},
"_id": "58e007cc0aac31001185ecf5",
"user": "58e007480aac31001185ecef",
"text": "Cats are the most popular pet in the United States: There are 88 million pet cats and 74 million dogs.",
"__v": 0,
"source": "user",
"updatedAt": "2020-08-23T20:20:01.611Z",
"type": "cat",
"createdAt": "2018-03-01T21:20:02.713Z",
"deleted": false,
"used": false
}
]
它的網址是https://cat-fact.herokuapp.com/facts。我知道訪問資訊不是問題,因為當我運行時curl 'https://cat-fact.herokuapp.com/facts' | jq '.',我會得到整個檔案作為回報。
跑完之后curl 'https://cat-fact.herokuapp.com/facts' | jq '. | {text}',
我得到錯誤jq: error (at <stdin>:0): Cannot index array with string "text"。
跑完之后curl 'https://cat-fact.herokuapp.com/facts' | jq '. | {.text}',
這是回傳的:(23) Failed writing body
跑完之后curl 'https://cat-fact.herokuapp.com/facts' | jq '.[] | {text: .commit.text}',
這是回傳的:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed 100 1675
100 1675 0 0 9463 0 --:--:-- --:--:-- --:--:-- 9463
{
"text": null
}
{
"text": null
}
{
"text": null
}
{
"text": null
}
{
"text": null
}
uj5u.com熱心網友回復:
我會使用陣列/物件值迭代器.[],然后["text"]過濾:
jq '.[]["text"]'
給你示例檔案作為輸入會產生這個輸出:
"Cats make about 100 different sounds. Dogs make only about 10."
"Domestic cats spend about 70 percent of the day sleeping and 15 percent of the day grooming."
"I don't know anything about cats."
"The technical term for a cat’s hairball is a bezoar."
"Cats are the most popular pet in the United States: There are 88 million pet cats and 74 million dogs."
以上也是您(當前)從中獲得的確切輸出:
curl -s 'https://cat-fact.herokuapp.com/facts' | jq '.[]["text"]'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467319.html
