質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

1120閲覧

JSONからデータを抽出し、新しいJSONを出力したい

engnao

総合スコア29

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2020/09/09 04:45

編集2020/09/10 15:37

取得したJSONファイルから、必要なノードだけを抽出して別のJSONファイルとして出力したいです。

必要なノードの抽出は、jqコマンドで抽出できそうですが、
取得したjsonファイルの入力方法、抽出済みのデータをJSONファイルとして出力する方法がわからないです。
どなたかご教示の程よろしくお願いします。

以下のJSONから、"rabbit" "dog" "cat" "tiger"のキーを抜き出し、
・name:値
・category:値
・URL:値
と言った形でデータを抽出したいです。

現在のJSON

json

1{ 2 "name": "sasuke", 3 "message": "正常終了", 4 "dog": { 5 "category": "animal", 6 "MoveInfo": [] 7 }, 8 "rabbit": { 9 "category": "animal", 10 "MoveInfo": [] 11 }, 12 "cat": { 13 "category": "animal", 14 "MoveInfo": [ 15 { 16 "Url": "https://0000/0000/0000", 17 "name": "tama", 18 } 19 ] 20 }, 21 "tiger": { 22 "category": "animal", 23 "MoveInfo": [] 24 } 25}

作成するJSON

json

1{ 2 "total": [ 3 { 4 "name":値 5 "category":値 6 "URL":値 7 }, 8 { 9 "name":値 10 "category":値 11 "URL":値 12 }, 13 { 14 "name":値 15 "category":値 16 "URL":値 17 } 18 ] 19} 20

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/09/09 04:57

具体的に何から何を抽出したいか例示ください
engnao

2020/09/10 14:32

回答ありがとうございます。 コードを追加しましたので、確認後アドバイスを頂けたら幸いです。 よろしくお願いいたします。
guest

回答1

0

ベストアンサー

qiitaとかにいくつも解説は挙がっていると思います。

投稿2020/09/09 05:00

yambejp

総合スコア114896

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

engnao

2020/09/12 17:03

| jq '.dog, .rabbit, .cat, .tiger | jq ' .MoveInfo[] | { name: .name, category: .category, URL: .URL }' | jq -s '{ "total": . }' ↑ 上記のコードで解決しました。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問