JQコマンドはタイトルのみを検索します。

JQコマンドはタイトルのみを検索します。

このjsonファイルがあります。

"[{\"id\":188457,\"title\":\"Painted Dragon Tea Mug with Lid\",\"slug\":\"painted-dragon-tea-mug-with-lid\",\"image\":\"https:\\\/\\\/thievemedia.imgix.net\\\/2018\\\/09\\\/painted-dragon-tea-mug-with-lid-featured-1.jpg\",\"full_image_url\":\"https:\\\/\\\/s3.amazonaws.com\\\/thieve-media\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/painted-dragon-tea-mug-with-lid-featured-1.jpg\",\"large_image_url\":\"https:\\\/\\\/s3.amazonaws.com\\\/thieve-media\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/painted-dragon-tea-mug-with-lid-featured-1.jpg\",\"medium_image_url\":\"https:\\\/\\\/s3.amazonaws.com\\\/thieve-media\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/painted-dragon-tea-mug-with-lid-featured-1.jpg\",\"original_price\":\"19.78\",\"price\":\"13.65\",\"discount\":\"30.99\",\"rating\":\"4.7\",\"total_orders\":\"10\",\"promotion_url\":\"https:\\\/\\\/api.thieve.co\\\/view?id=MzI4NTk0Njg0MDE=\",\"product_like_count\":\"100\",\"product_user_likes\"}]

jqを使用してタイトルのみを抽出する方法は?

ベストアンサー1

このクエリは、ドキュメント'.[] | {title}'が次のファイルにあると仮定すると、タイトル要素のみを提供します(ただし、サンプルドキュメントの形式が間違っているように見えます)data.json

$ jq '.[] | {title}' data.json
{
    "title": "Painted Dragon Tea Mug with Lid"
}

クエリの最初の部分は最上位配列'.[]'のすべてのオブジェクトを返し、演算子を使用してこれらのオブジェクトを2番目の部分に送信します|。クエリの2番目の部分は、{title}単にオブジェクトから「タイトル」要素を抽出します。

結果をJSONオブジェクトにラップせずにタイトルを文字列として使用するには、代わりに次のコマンドを使用します。

$ jq '.[] | .["title"]' data.json
"Painted Dragon Tea Mug with Lid"

これjq 地図時間クエリ言語の良い概要を提供します。

おすすめ記事