キーを名前でフィルタリングし、jqを使用してネストされたオブジェクトにアクセスする方法

lazy_tester

ここで初心者のjqユーザーは、次のことに苦労しています。

次のjsonがあり、キーワードに基づいてキーをフィルタリングし、オブジェクト全体(キーだけでなく)または特定のキーと値のペアを出力する必要があります。JSONのネストされたオブジェクト構造に注意してください。これは意図的なものです。

{
  "timers": {
    "timerWithAKeywordAPlusBlah": {
      "count": 1,
      "max": 0,
      "min": 0      
    },
    "timerWithAKeywordB": {
      "count": 2,
      "max": 0
    },
    "timerWithAKeywordAPlusBlahBlah": {
      "count": 2385,
      "max": 2,
      "min": 1         
    }
  }
}

必要な出力:

"timerWithAKeywordAPlusBlah": {
  "count": 1,
  "max": 0,
  "min": 0
},
"timerWithAKeywordAPlusBlahBlah": {
  "count": 2385,
  "max": 2,
  "min": 1
}

私が試したこと:

キー名を印刷することはできますが、オブジェクト全体にアクセスする方法がわかりません。

cat timers.json| jq '.timers | keys[] | select(contains("KeywordA")) '
ピーク

この応答では、出力を有効なJSONにする必要があると想定します。出力を他の形式にしたい場合は、いくつかの追加のフィルターを追加するだけです。

とにかく、トリックは次のように、キーではなくオブジェクトを選択することです。

.timers
| with_entries( select(.key|contains("KeywordA") ) )

(変更された)入力を使用すると、次のようになります。

{
  "timerWithAKeywordAPlusBlah": {
    "count": 1,
    "max": 0,
    "min": 0
  },
  "timerWithAKeywordAPlusBlahBlah": {
    "count": 2385,
    "max": 2,
    "min": 1
  }
}

その後、最終的に必要な詳細を抽出できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rubyを使用して、ネストされたJSONオブジェクトをフィルタリングし、特定のキーを持つJSONを取得します

分類Dev

lambdaとhasattrを使用して、ネストされた属性でオブジェクトの配列をフィルタリングする方法は?

分類Dev

変数オブジェクト名を使用してネストされたオブジェクトのキーにアクセスする

分類Dev

ネストされたオブジェクトの配列で、前のオブジェクト値にアクセスしてファイルをインクリメントする方法

分類Dev

ネストされたjsonオブジェクトにアクセスし、条件付きマーカーレンダリングを使用してリーフレットマップでマーカーを表示する方法

分類Dev

カスタムメソッドを使用してフィールドをネストされたオブジェクトにマッピングする

分類Dev

ネストされたループのない配列を使用してオブジェクトの配列をフィルタリングするjs

分類Dev

jqを使用して、キーに基づいてネストされたJSONオブジェクト内のフィールドを更新します

分類Dev

forinループを使用してネストされたオブジェクトにアクセスする

分類Dev

Javascriptを使用してネストされたオブジェクトで2つの配列をフィルタリングする

分類Dev

Typescriptでconitionオブジェクトを使用してネストされた配列の配列をフィルタリングする

分類Dev

LodashまたはプレーンJavaScriptを使用して動的フィルターでネストされたオブジェクトをフィルタリングするにはどうすればよいですか?

分類Dev

javascriptを使用したオブジェクトのネストされた配列によるオブジェクトの動的フィルタリング

分類Dev

一致するIDでフィルタリングされた別のオブジェクトのリストに設定されたパラメーターを使用してオブジェクトをビューに渡すASP.Net

分類Dev

Streamでネストされたオブジェクトをフィルタリングする方法は?

分類Dev

ネストされた配列オブジェクトに基づいてオブジェクトをフィルタリングします

分類Dev

ネストされたオブジェクトを再帰的にフィルタリング/削減します

分類Dev

include EntityFrameworkコア3.1を使用するときにネストされたオブジェクトをフィルタリングする方法

分類Dev

名前で型を取得し、逆シリアル化されたjsonデータをそのオブジェクトにキャストする

分類Dev

デフォルトのカスタムフックが指定されているコンポーネントインターフェイスを使用してReactルーター履歴オブジェクトにアクセスする方法

分類Dev

ネストされたforループを使用して、JavaScriptでオブジェクト内の配列の名前とリストを見つける方法

分類Dev

流暢なアサーションを使用してオブジェクトグラフのネストされたリストを比較する方法

分類Dev

リアクティブスプリングリポジトリで保存する前に、オブジェクトの複雑なフィールドをテキストフィールド(JSONとしてシリアル化)にマッピングする

分類Dev

jqを使用して、ネストされたjsonをキー値でフィルタリングします

分類Dev

配列内の値と一致するキーに基づいてネストされたオブジェクトをフィルタリングする

分類Dev

オブジェクトキーをフィルタリングし、新しいネストされたキーを作成します

分類Dev

同じ名前のデータにアクセスする方法JavaScriptでオブジェクトキーとして使用される記号

分類Dev

jq:配列を使用してネストされたjsonツリーにオブジェクト、キー/値を追加する方法

分類Dev

文字列として名前からオブジェクトにアクセスするためにリフレクションを使用する方法

Related 関連記事

  1. 1

    Rubyを使用して、ネストされたJSONオブジェクトをフィルタリングし、特定のキーを持つJSONを取得します

  2. 2

    lambdaとhasattrを使用して、ネストされた属性でオブジェクトの配列をフィルタリングする方法は?

  3. 3

    変数オブジェクト名を使用してネストされたオブジェクトのキーにアクセスする

  4. 4

    ネストされたオブジェクトの配列で、前のオブジェクト値にアクセスしてファイルをインクリメントする方法

  5. 5

    ネストされたjsonオブジェクトにアクセスし、条件付きマーカーレンダリングを使用してリーフレットマップでマーカーを表示する方法

  6. 6

    カスタムメソッドを使用してフィールドをネストされたオブジェクトにマッピングする

  7. 7

    ネストされたループのない配列を使用してオブジェクトの配列をフィルタリングするjs

  8. 8

    jqを使用して、キーに基づいてネストされたJSONオブジェクト内のフィールドを更新します

  9. 9

    forinループを使用してネストされたオブジェクトにアクセスする

  10. 10

    Javascriptを使用してネストされたオブジェクトで2つの配列をフィルタリングする

  11. 11

    Typescriptでconitionオブジェクトを使用してネストされた配列の配列をフィルタリングする

  12. 12

    LodashまたはプレーンJavaScriptを使用して動的フィルターでネストされたオブジェクトをフィルタリングするにはどうすればよいですか?

  13. 13

    javascriptを使用したオブジェクトのネストされた配列によるオブジェクトの動的フィルタリング

  14. 14

    一致するIDでフィルタリングされた別のオブジェクトのリストに設定されたパラメーターを使用してオブジェクトをビューに渡すASP.Net

  15. 15

    Streamでネストされたオブジェクトをフィルタリングする方法は?

  16. 16

    ネストされた配列オブジェクトに基づいてオブジェクトをフィルタリングします

  17. 17

    ネストされたオブジェクトを再帰的にフィルタリング/削減します

  18. 18

    include EntityFrameworkコア3.1を使用するときにネストされたオブジェクトをフィルタリングする方法

  19. 19

    名前で型を取得し、逆シリアル化されたjsonデータをそのオブジェクトにキャストする

  20. 20

    デフォルトのカスタムフックが指定されているコンポーネントインターフェイスを使用してReactルーター履歴オブジェクトにアクセスする方法

  21. 21

    ネストされたforループを使用して、JavaScriptでオブジェクト内の配列の名前とリストを見つける方法

  22. 22

    流暢なアサーションを使用してオブジェクトグラフのネストされたリストを比較する方法

  23. 23

    リアクティブスプリングリポジトリで保存する前に、オブジェクトの複雑なフィールドをテキストフィールド(JSONとしてシリアル化)にマッピングする

  24. 24

    jqを使用して、ネストされたjsonをキー値でフィルタリングします

  25. 25

    配列内の値と一致するキーに基づいてネストされたオブジェクトをフィルタリングする

  26. 26

    オブジェクトキーをフィルタリングし、新しいネストされたキーを作成します

  27. 27

    同じ名前のデータにアクセスする方法JavaScriptでオブジェクトキーとして使用される記号

  28. 28

    jq:配列を使用してネストされたjsonツリーにオブジェクト、キー/値を追加する方法

  29. 29

    文字列として名前からオブジェクトにアクセスするためにリフレクションを使用する方法

ホットタグ

アーカイブ