jqで最も若い番号のhold_idを取得する方法は?

このQ&Aのポイント
  • jqを使用して、jsonのデータをholdのtreasure_idの昇順で並べ替え、最も若い番号のhold_idを取得する方法はありますか?
  • jqを使って、jsonのデータをholdのtreasure_idの昇順で並べ替え、最も若い番号のhold_idを取得する方法を教えてください。
  • jqで以下のjsonのデータをholdのtreasure_idの昇順で並べた時に、一番若い番号のhold_idを取得する方法について教えてください。
回答を見る
  • ベストアンサー

jqの使い方

jqで以下のjsonをholdのtreasure_idの昇順で並べた時に一番若い番号のhold_idを取得する方法はありますか? よろしくお願いします。 { "result": 1, "data": { "hold": { "1": { "hold_id": "727836", "treasure_id": "20", "item_id": "0", "status": "1", "link": "" }, "2": { "hold_id": "727844", "treasure_id": "99", "item_id": "0", "status": "1", "link": "" }, "3": { "hold_id": "727855", "treasure_id": "4", "item_id": "0", "status": "1", "link": "" } } } }

  • inshin
  • お礼率78% (104/133)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

jq '[.data.hold[]]|min_by(.treasure_id).hold_id' DATA かな。

inshin
質問者

お礼

できました!大変助かりました!ありがとうございました!

関連するQ&A

  • PHP MySQLでエラーがでてしまいます。

    PHP MySQLからデータを取得したいのですが、以下のエラーが出てしまい原因が分かりません。 詳しい方お願い致します。 <b>Warning</b>: json_encode() expects exactly 1 parameter, 2 given in <b>/home/users/2/***.**-********/web/****************/php/seupPharmacyData.php</b> on line <b>21</b><br /> エラーが出るコードは以下になります。 <?php include "db.php"; $sql = "SELECT * FROM user_data"; $query = mysql_query($sql, $db) or die("クエリの送信に失敗しました。<br />SQL:".$sql); $result= array(); while ($row = mysql_fetch_object($query)) { $result[] = array( 'name1' => $row->name1, 'name2' => $row->name2, 'name3' => $row->name3, 'id' => $row->id, ); } //jsonとして出力 header('Content-type:application/json; charset=UTF-8'); echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>

    • ベストアンサー
    • PHP
  • PHPでJSON形式のデータから取得する方法

    PHPで取得したJSON形式のデータからキーワードを取得する方法を教えてください。 <?php $query = '自転車'; $url = 'http://api.suggest.search.rakuten.co.jp/suggest?cl=dir&rid=0&sid=0&oe=utf-8&cb=cb&q='.urlencode($query); $json = file_get_contents($url); print_r($json); ?> $jsonには以下のデータが返ってきます。 cb({"input":"自転車","status":0,"result":[["自転車 ライト"],["自転車 26インチ"],["自転車 カバー"],["自転車 置き場"],["自転車 27インチ"],["自転車 24インチ"],["自転車 2013"],["自転車 レインカバー チャイルドシート"],["自転車 スタンド"],["自転車 チャイルドシート"]]}) このデータから以下のキーワードデータの配列を取得するにはどうすればよいのでしょうか? 自転車 ライト,自転車 26インチ,自転車 カバー,自転車 置き場,自転車 27インチ,自転車 24インチ,自転車 2013,自転車 レインカバー チャイルドシート,自転車 スタンド,自転車 チャイルドシート

    • ベストアンサー
    • PHP
  • 2次元のJSON形式の配列の展開

    JSON形式で受け取った2次元配列をHTMLに書き出そうとしています。 配列を指定するカラム名?を変数にしたいのですがうまくできません。 var hoge = "abc"; var len = result.length; for (i = 0; i < len; i++){  objResult.append("<li><a href=" + result[i].ID + ">" + result[i].hoge + "</a></li>"); } ※objResultはul要素を変数に収めたものです。 JSONデータは1列目のカラム名は『ID』で固定ですが2列目は変動する為、上記の『hoge』の部分にはJSONデータを受け取る前にカラム名を別処理で取得して格納しています。 ご教授の程よろしくお願いします。

  • jQueryで複数ファイル読み込みを検知する方法

    jQueryでHTTP通信でjsonファイルを取得する場合、 ファイルが一つだけなら $.ajax({ url: path, type: "GET", dataType: "json", success: function(json, status, xhr) { }, error: function(xhr, status, errorThrown) { }, complete: function(xhr, status) { } }); のようにsuccessコールバックなどでデータを取得すればよいのですが 複数ファイルをajax()により取得し、全てのファイルダウンロードが完了したのを 待ってから処理を走らせたい場合どうすればよいのかわかりません。 任意の型のイベントを発生させて、それに対するハンドラ割り当てができればよいのですが javascriptに不慣れなこともあり、調べてもその方法がわかりませんでした。

  • SQL文の処理を関数化したいです

    SQL文をユーザー定義関数でまとめたいのですが、うまくいきません。 以下の処理を全てfunction search() { }の中に入れるのは間違っていますか? 関数名はsearchとしました。 try { $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE status = 1'; $stmt = $dbh->prepare($sql); $stmt->execute(); $result = $stmt->fetchALL(); $err_msg[] = ($keyword . 'を含む商品は見つかりませんでした。'); } catch (PDOException $e) { $err_msg[] = '商品を取得できませんでした。'; }

    • ベストアンサー
    • PHP
  • PHPとSQLをコンパクトにまとめたいです

    部分一致検索して商品が見つかった場合はその商品だけを表示して、もし検索して見つからなかったときはエラーメッセージと商品一覧を表示しています。動作上は問題ありませんが、コンパクトにまとめることは可能でしょうか? // ユーザーが検索した場合の処理 if (isset($_POST['keyword']) === TRUE && mb_strlen ($_POST['keyword']) > 0) { $keyword = trim($_POST['keyword']); try { $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE name like ?'; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $keyword, PDO::PARAM_STR); // SQLを実行 $stmt->execute(['%' . $keyword . '%']); $result = $stmt->fetchALL(); // 上記で検索した名前と部分一致する商品を探す if (count($result) > 0 ) { $msg[] = ($keyword . 'を含む商品が見つかりました!'); } else { try { // ステータスが1(公開)の販売商品のみを一覧で表示する $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE status = 1'; $stmt = $dbh->prepare($sql); $stmt->execute(); //全て取得するのでfetchALLでレコードを取得する $result = $stmt->fetchALL(); $err_msg[] = ($keyword . 'を含む商品は見つかりませんでした。'); } catch (PDOException $e) { $err_msg[] = '商品を取得できませんでした。'; } } } catch (PDOException $e) { $err_msg[] = '商品を検索できませんでした。'; } } else { try { // ステータスが1(公開)の販売商品のみを一覧で表示する。 $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE status = 1'; $stmt = $dbh->prepare($sql); $stmt->execute(); //全て取得するのでfetchALLでレコードを取得する $result = $stmt->fetchALL(); } catch (PDOException $e) { $err_msg[] = '商品を取得できませんでした。'; } }

    • ベストアンサー
    • PHP
  • jQuery.getの引数dataで動的にするには

    お世話になります。 jQuery.get()の第二引数dataによって、動的にJSONを取得したいです。 第一引数urlがhttp://test.com 第二引数が{id:1,name:tanaka}としてgetした場合 http://text.com?id=1&name=tanaka とリクエストしてると考えてよいのでしょうか。 ある大手サイトでget()時、dataによって取得できるJSONが違うのですが、 そのURLの最後に拡張子がありません。 JSONは拡張子が無くても良いというのを知りましたが これはJSONの形式でそのように動的に発行しているのでしょうか。 もしくはサーブレットあたりが動いて動的にさせてるのでしょうか。 たぶんPHPとかではないですよね。 上の例でいくと http://text.com?id=2 http://text.com?id=5 http://text.com?id=15 これで取得できるのが違います。 どうなってるのかさっぱり判りません。 すみません、よろしくお願いいたします。

  • csvファイル内にてソートする方法

    ご協力お願いします。 あるログデータを取得したcsvファイルを作成しました。しかし、データ量も多く見やすいようにソートをかけたいのですが方法がわかりません。csvファイルの中身は以下のようになっています。 ___________________________ | 端末ID | ユーザーID | 日付 | 時間 | ――――――――――――――――――――――――― | ITD002 | 00000001 |2005/08/22| 11:00 | ――――――――――――――――――――――――― | ITD002 | 00000003 |2005/08/22| 21:00 | ――――――――――――――――――――――――― | ITD001 | 00000001 |2005/08/22| 12:00 | ――――――――――――――――――――――――― | ITD001 | 00000002 |2005/08/22| 18:20 | ――――――――――――――――――――――――― 以上のような中身になっています。レコード量は、もっと多いです。このランダムな順番に取得したレコードを 端末ID(昇順)ユーザーID(昇順)日付(降順)時間(降順)でソートする方法をご教授お願いします。

  • Java json gson(google)

    拝見して戴きまして有難うございます.今の状況を(1)~(5)にまとめました. (1) URL(http://zip.ricollab.jp/search?q=3130041&type=json)から    JSONデータを取って来きてjsonDataという変数に格納したとする. (2) Javaのgson(JSONを処理しやすくするためのクラス群)を用いているとする. (3) Userという名称のクラスを作り以下記述で受け取りたい User user = new User(); user = gson.fromJson(jsonData.toString(),User.class); (4) JSONデータは(1)のURLの時以下である. { "query": "3130041", "totalResults": 1, "itemsPerPage": 10, "result": [ { "zipcode": "3130041", "address": "茨城県常陸太田市稲木町", "lin k": "http://zip.ricollab.jp/3130041" } ]} (5) (1)~(4)の状況を抱えている状態なのですが,ここでJSONデータのresultが配列になっています.Userクラスを以下のように定義するとその手前まで全て受け取れます.しかしこの後,resultはどうすれば受け取れますか?HashMap<String, String> result;のような連想配列かな?とか思ったのですが・・・上手く出来ず困っています.分かる方お願いします. class User { String query; String totalResults; String itemsPerPage; }

    • ベストアンサー
    • Java
  • javascriptでdata.txtのJSONデータを変数に取得する

    javascriptでdata.txtのJSONデータを変数に取得するかんたんなサンプルコードはどのようになるのでしょうか。 JSONデータは以下と同じです。 http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006/index.html {"item":[ {"itemCode":91, "itemName":"塩ラーメン", "itemPrice":300}, {"itemCode":94, "itemName":"味噌ラーメン", "itemPrice":290}, {"itemCode":95, "itemName":"豚骨ラーメン", "itemPrice":320} ] }