Hitachi

JP1 Version 11 JP1/Advanced Shell 


9.4.8 adshparsejsonコマンド(JSONデータを解析する)

形式

adshparsejson  名前

機能

このコマンドはスクリプト開発部品の中で使用されるコマンドです。そのため,JSONデータを解析する場合は,スクリプト開発部品のJSON操作の部品の使用を推奨します。

標準入力から読み込んだJSONデータから名前を検索し,完全一致した名前に対応する値を改行区切りで標準出力に出力します。

【UNIX限定】

JP1/Advanced Shellが動作する環境の環境変数LANGの値と異なるエンコーディングのJSONデータを入力する場合,シェル変数ADSH_PARSER_LANGに値を設定しておくことで,adshparsejsonコマンドを実行する間はエンコーディングを統一して動作させることができます。シェル変数ADSH_PARSER_LANGには,環境変数LANGに指定可能な値を設定します。例えば,次の条件に当てはまる場合,エンコーディングを統一して動作させるためには,シェル変数ADSH_PARSER_LANGにJA_JP.UTF-8を設定してからadshparsejsonコマンドを実行します。

  • AIXで環境変数LANGにSJISを示す値(Ja_JP)が設定されている

  • エンコーディングがUTF-8のJSONデータを入力する

引数

名前

検索する名前を指定します。

終了コード

終了コード

意味

0

正常終了

1

エラー終了

注意事項

使用例

JSONデータ(data.json)
{ "city": [
    { "name":"Yokohama", "id":"0001", "value":{ "A":200, "B":100 } },
    { "name":"Kawasaki", "id":"0002", "value":{ "A":100, "B":300 } }
  ]
}

adshparsejson name < data.json
# 以下の内容が出力される。
"Yokohama"
"Kawasaki"

adshparsejson value < data.json
# 以下の内容が出力される。(ネストされているデータをそのまま出力する)
{ "A":200, "B":100 }
{ "A":100, "B":300 }

adshparsejson B < data.json
# 以下の内容が出力される。
100
300