【发布时间】:2021-06-13 17:04:17
【问题描述】:
可以说我有这个:
https://api.apis.guru/v2/specs/adyen.com/CheckoutService/64/openapi.json
我想抢:
/orders
/orders/cancel
/originKeys
/paymentLinks
/paymentLinks/{linkId}
/paymentMethods
/paymentMethods/balance
/paymentSession
/payments
/payments/details
/payments/result
我想以一种优雅的方式做到这一点,只是抓住路径,我正在做的是这种丑陋的解决方法,它不适用于某些 api:
curl -A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0" -ks "https://api.apis.guru/v2/specs/adyen.com/CheckoutService/64/openapi.json" | jq -r '.paths' | grep "/" | grep "{" | egrep -iv "microsoft|amz|application/json|application/jwt|\*|text/xml|text/plain|application/|multipart/form-data|text/html" | cut -d "\"" -f 2
【问题讨论】:
-
你能用
jq吗? -
您能否提供一个(小!)具有代表性的 JSON 对象以及您希望从中提取的内容,而不是期望人们下载一个大的随机文件?
-
对xidel 来说真的很容易:
xidel -s "<your-json-url>" -e '$json/map:keys(paths)'。
标签: json bash data-processing jsonparser