ホームページ  >  記事  >  バックエンド開発  >  「リスト内の値」条件で JQ を使用した Golang 実装

「リスト内の値」条件で JQ を使用した Golang 実装

WBOY
WBOY転載
2024-02-08 23:30:11943ブラウズ

使用 JQ 的 Golang 实现时具有“列表中的值”条件

php エディタ Xiaoxin が今日紹介するのは、JQ の Golang 実装を使用する場合の「リスト内の値」条件です。 Golang では、JQ は JSON データから情報を抽出して変換するための強力なクエリ言語です。 「リスト内の値」条件は、JQ クエリで一般的に使用される条件で、指定された値を含むリスト内の要素をフィルターで除外するために使用できます。 JQ の Golang 実装を使用することで、この機能を簡単に実装できるため、JSON データの処理が簡素化され、開発効率が向上します。次に、JQ の Golang 実装を使用して「リスト内の値」条件を実装する方法を詳しく説明します。

質問の内容

Go アプリケーションでこのライブラリを使用しています: https://github.com/itchyny/gojq 正常に動作しますが、JQ ドキュメントで何かを行う方法が見つかりません。次のような構成ファイルからの利用可能なストアのリストを入力とする jq クエリがあります。 リーリー

基本的に、私の地域で利用可能な店舗のリストから少なくとも 1 つは営業しており、私の地域で利用可能な店舗のリストから少なくとも 1 つは「特定の店舗」と呼ばれています。 (これは 2 つの別の条件であることに注意してください。「一部の店舗」が閉店しているかどうかは関係ありません)。

次に、名前を確認するために 2 番目の条件を使用するのではなく、各ストアが文字列である「type_identifier」を持つようにこの条件を変更する必要があります。基本的に私が欲しいのは次のようなものです:

リーリー

利用可能なタイプのリストには、約 600 種類の異なるタイプが含まれています。 そこで私の質問は次のとおりです:

    JQ には「in」セレクターはありますか?正しい構文は何ですか?
  1. 利用可能な「タイプ」リストはストア リストと同じオブジェクトの別のフィールドですが、このプロパティからリストを直接読み取るにはどうすればよいですか?
よろしくお願いします

解決策

リストが長い場合は、ルックアップ テーブルを作成することをお勧めします。

リーリー

一般的な

.stores を分解し、[ .[] | ... ]map( ... ) に置き換えました。

jqplay のデモ

INDEX を使用することもできます。 リーリー

jqplay のデモ

以上が「リスト内の値」条件で JQ を使用した Golang 実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。