• ベストアンサー

JSON Perlで指定のデータのみ抽出

Wap58の回答

  • ベストアンサー
  • Wap58
  • ベストアンサー率33% (29/87)
回答No.1

安直にこんなのでいいのかしら print'Type:'; chomp(my $std = <STDIN>); my $an='{"num":29,"name","山田太郎"}{"num":30,"name","山田花子"}{"num":31,"name","山田次郎"}'; my @bn = $an =~ /({"num":$std,[^}]+})/; print"@bn\n";

spider32
質問者

お礼

大変有難う御座います。無事解決できました。

関連するQ&A

  • 関数を使って重複するデータを抽出するには?

    今各年度の重複データの抽出の方法がわからなくて困っています。 H20年度         平成21年度 ID   氏名   住所  ID   氏名   住所 102 山田太郎  東京  505 山田次郎  福岡 205 山田花子  京都  603 山田五郎  滋賀 505 山田次郎  福岡  205 山田花子  京都 のような表があって H20と21で重複する人を別表に抽出したり、逆に重複しない人を抽出するにはどのような関数を使えばいいのでしょうか? よろしくお願いします

  • 一覧の表示で名前をデータ数を表示したいのですが…

    お世話になります。 度々申し訳ないのですが、質問させてください。 現在mysqlに格納したデータの一覧を表示するページを作っているのですが、表示結果が思うようにいかず困っています。 環境:Mysql 5.1.22-rc,PHP  5.2.5 データベース:test01 main -------------------------------------------------------- id name kana 1 太郎 たろう 2 次郎 じろう 3 花子 はなこ -------------------------------------------------------- sub2 -------------------------------------------------------- id a_sakuhin   title 1 data_1   青空   1 data_2   夕日 1 data_3   流星   3 data_1   町並み 3 data_2   列車   -------------------------------------------------------- というテーブルがあります。 それを一覧表示で ・太郎 (3) ・次郎 (0) ・花子 (2) という具合にしたいのですが、どうしても()の中が全件合わせた結果になり ・太郎 (50) ・次郎 (50) ・花子 (50) という様になってしまうのです。 どういったsql文を書けばよいのかアドバイスを頂けると嬉しいです。 よろしくお願いいたします。

  • 【Excel】指定する項目のみ集計したい

    はじめまして。 書籍やネットで調べてみたのですがどうしても分からず質問させて頂きました。 Excelにおいての集計に関する質問です。 sheet Aには以下のようなデータがあったとします。 山田太郎:りんご :1 山田花子:さくらんぼ :1 山田花子:バナナ :1 山田太郎:みかん :1 山田太郎:新幹線 :1 山田太郎:パパイヤ :1 山田花子:消防車 :1 山田太郎:電車 :1 山田太郎:キウイ :1 このデータの果物だけの個数をsheet Bに名前ごとに集計は可能でしょうか 山田太郎:6 山田花子:3 ではなく、 山田太郎:4 山田花子:2 のように。 ちなみに、集計したい項目の果物のリストは、sheet Cにあります。 フィルターをかけて、必要のないデータを集計から除外しようとしましたが、データ量が膨大なため難しいです。 各データ項目の横に数値の1があるため、それを用いsumifs関数も試しましたが、果物のリストの部分でうまく条件指定ができず、上手く行きませんでした(0になりました。) 拙い説明で申し訳ございませんが、何卒ご教示頂けますと幸いです。 よろしくお願い致します。

  • 次の条件を満たすSQL文をご教示下さい。

    テーブル名: list no | first_name | last_name | comment ----+------------+-----------+--------- 1 | 太郎 | 山田 | ほげ 2 | 次郎 | 田中 | ふが 3 | 花子 | 山田 | ぴよ 4 | 三郎 | 佐藤 | ぴよ 5 | 太郎 | 山田 | ぴよ 6 | 次郎 | 田中 | ふー 7 | 三郎 | 佐藤 | ふー 8 | 花子 | 山田 | ふー 上記の表から同じ”last_name”を持つ人の”first_name”と”last_name”を重複無しで抽出する(下記のような結果)SQL文は作成可能でしょうか。 結果 first_name | last_name ------------+----------- 太郎 | 山田 花子 | 山田 宜しくお願いします。

  • Excel(マクロ?VBA?)で最大日付の行を抽出

    Excelのデータ抽出で困っております。 下記のようなデータがあり、各IDの最大日付の行を抽出しようとしていますが、抽出方法がわからず、困っています。  氏名  ID   日付   山田太郎 10 2012/12/01 山田太郎 10 2013/08/01 山田太郎 10 2014/12/01 山田太郎 10 2015/08/01 山田花子 20 2012/12/01 山田花子 20 2013/08/01 山田花子 20 2013/12/01 この際に、 山田太郎 10 2015/08/01 山田花子 20 2013/12/01 という2つの行を抽出したいですが、抽出方法がわかりません。 関数を使ってやろうとも思いましたが、関数をどれを使えばいいかわかりません。 別シートに抽出でも全く問題ありませんので、恐れ入りますが、抽出方法を教えてください。 よろしくお願いいたします。

  • JavaからMySQL-DBへのデータ更新について

    JAVA から JDBC を経由して MySQL のデータを更新する方法 について質問があります。 MySQL使用者の初心者です。 ここで、データベース(sample_table)は以下のようになっているものとします。 | num | name | | 1  | 太郎 | | 2  | 次郎 | | 3  | 三郎 | num・・・int型 name・・・・varchar型 例えば num = 1 の name を変えたい場合 String qry = "UPDATE sample_table SET name = '花子' WHERE num = '1'"; st.executeUpdate(qry); 等のようにする事は分かっています。 しかし Javaのプログラムにおいて事前に String str = "花子"; のように指定しておいて String qry = "UPDATE sample_table SET name = " + str + "WHERE number = '1'"; st.executeUpdate(qry); とすることが出来ません。 (データベースがvarchar型で、指定しているのがString型だからでしょうか???) やはり Javaのプログラムで事前に指定したものを MySQLのデータベースに更新する事はできないのでしょうか? あるいは、構文のミスで(エラーには構文ミスと出てきます) 何か他の方法があるのでしょうか? 初心者なもので、どうすれば解決できるのか非常に困っております。 ご存知の方いらっしゃいましたら、御指導・御教授願います。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • JSONのコメント行の書き方について

    いつもお世話になります。 JSONでコメント行を書くにはどうしたらよろしいのでしょうか。 {"title":"sample data", "person":[ {"id":"1","nameFirst":"太郎","nameLast":"鈴木","age":"24","birth":"1234-12-22"}, {"id":"1","nameFirst":"花子","nameLast":"鈴木","age":"24","birth":"3456-12-22"} ]} などというデータを javascriptと同じ要領で以下のようにコメントアウトすると {"title":"sample data", "person":[ // {"id":"1","nameFirst":"太郎","nameLast":"鈴木","age":"24","birth":"1234-12-22"}, {"id":"1","nameFirst":"花子","nameLast":"鈴木","age":"24","birth":"3456-12-22"} ]} $.getJSON(jsonDataUrl,function(json) { successFunc(json); return; }); で、読み取れなくなってしまいます。 JSONは、そもそもコメント行の記載ができないのでしょうか。 よろしくお願いいたします。

  • JSONをperlで受け取る方法

    お世話になります。 jQueryを使用します。 Handsontableを使いたいと思います。 表に入力した内容をperlのCGIにデータ送信して、処理をしたいのですが どのようにすればいいのかがわからずにいます。 http://handsontable.com/demo/ajax.html こちらにサンプルがあるのですが、saveのときの処理がよくわかりません。 $.ajax の data にただの文字列を設定すれば、CGIでの受け取り方がわかるのですが、 表のデータ?(handsontable.getData()の部分)の場合、CGIではどのように 受け取れば良いのでしょうか? $.ajax({   url: "netaut2.cgi",   data: {"data": "abcde"},   dataType: 'json',   type: 'POST',    : } ↑こうであれば、CGI側は $form = new CGI; $val = $form->param('data'); このようにして$valに"abcde"とデータが取れますが、 var json_data = [ {"name" : "Taro", "age" : 19}, {"name" : "Hana", "age" : 25} ]; $.ajax({   url: "netaut2.cgi",   data: json_data,   dataType: 'json',   type: 'POST',    : } のようにした場合がわかりません。 宜しくお願い致します。

    • ベストアンサー
    • AJAX
  • 複数テーブルからの抽出と結合(Access)

    マイクロソフトのアクセスを使って、 複数テーブルから抽出と結合をする方法について教えてください。 各生徒の履修科目が表になっています。例えば 数学を履修してる生徒  1 山田太郎  2 加藤次郎  3 足立花子  : 国語を履修している生徒  1 山田太郎  2 足立花子  3 東京三郎  : 理科を履修している生徒  1 京都太郎  2 足立花子  : これらの表から生後ごとの履修科目の一覧表を作成するにはどうするのでしょうか? つまり結果として  1 山田太郎 数学、国語  2 加藤次郎 数学  3 足立花子 数学、国語、理科  : の感じで生徒が履修している科目を表にしたいのです。 ずっと悩み続けているのですが、まったく手も足も出ない状態です。 どなたかお助けください。お願いします。

  • フォームからjQuery,jQuery.jsonを使ってJSONを作っ

    フォームからjQuery,jQuery.jsonを使ってJSONを作ってPHPで表示したい。 こんばんは。2、3日ずっと悩んでて解決しないので助けてください。 jQuery,jQuery.jsonを使ってJSONを作成しています。 クリックイベントに var form = $("#sform"); var json = $(form.serializeArray()); var strJson = $.toJSON(json); という形をとって $.ajax({ url : "request.php", type : "post", data : strJson, success: function(request){ $('#result').html(request); } }); で送っています。 ただPHP側で var_dump($_POST); を行ってもArray ( ) と表示されます。 firebugで見たところpostに入っているデータは以下の通りです。 {"0":{"name":"date","value":"2010/09/15"},"1":{"name":"type","value":"new"},"2":{"name":"bin[]","value":"2"},"3":{"name":"bin[]","value":"3"},"length":4} var_dumpで表示できないのはなぜでしょうか? 上記で変数json のまま送るとオブジェクトとして送れてvar_dump でも表示できます。 ただ今はjson の勉強をしているので、できればなぜこうなっているのかを理解したいです。 基本的なところで勉強不足かもしれませんが、何かアドバイスなど頂けると嬉しいです。 よろしくお願いします。