Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

CLI で Junos OS コマンド出力を JSON にマッピングする

Junos OS(Junos OS)は、Junos OSを実行するデバイスの操作と設定、およびJunos OSコマンドラインインターフェイス(CLI)とJunos OSインフラストラクチャがXMLを使用して通信するためのXMLをネイティブにサポートしています。動作コマンドを発行するか、CLI で設定を表示すると、CLI は出力を XML から読み取り可能なテキスト形式に変換して表示します。

Junos OS リリース 14.2 以降、Junos OS を実行するデバイスは、運用コマンド出力と Junos OS 設定階層の JSON(JavaScript Object Notation)表現もサポートしています。Junos OS CLI で、デフォルトでフォーマットされたASCIIテキストではなく、コマンドの出力または設定を JSON で表示するには、オプションをコマンドに追加 | display json します。

次の例では、コマンドを show chassis hardware 実行し、出力を JSON 形式で表示します。応答は、RPC 要求の NETCONF または Junos XML プロトコル サーバーの応答と <get-chassis-inventory format="json"> 同じです。

Junos OSリリース16.1以降、Junos OSは、JSON形式で出力される設定データのシリアル化に新しいデフォルト実装を使用します。新しいデフォルトは、 ietf次のインターネットドラフトで定義されています。

以前のリリースでは、デフォルトは verboseJSON 配列としてすべてのオブジェクトを発行します。適切なステートメントを階層レベルで設定することで、JSON 設定データのデフォルトのエクスポート形式を [edit system export-format json] 設定できます。ステートメントは、以降の verbose リリースまで Junos OS CLI に公開されていない場合でも、Junos OS リリース 16.1R1 以降で設定できます。

Junos OS リリース 17.3R1 以降、Junos OS を実行するデバイスは、デバイスの動作状態をコンパクトな JSON 形式で出力し、複数の値を持つオブジェクトのみが JSON 配列として出力されます。コンパクトな JSON 形式を出力するようにデバイスを構成するには、階層レベルでステートメントを[edit system export-format state-data json]設定compactします。

次の例では、コマンドを show system uptime 実行し、出力を非コンパクトな JSON 形式で表示します。

非コンパクトな JSON 形式:

同じコマンドのコンパクトな JSON 形式は次のとおりです。

リリース履歴テーブル
リリース
説明
17.3R1
Junos OS リリース 17.3R1 以降、Junos OS を実行するデバイスは、デバイスの動作状態をコンパクトな JSON 形式で出力し、複数の値を持つオブジェクトのみが JSON 配列として出力されます。
16.1
Junos OSリリース16.1以降、Junos OSは、JSON形式で出力される設定データのシリアル化に新しいデフォルト実装を使用します。