単元解説
JSONとデータ形式の基礎
ネットワーク基礎CCNAAPIでやり取りするデータを理解するために、JSONのオブジェクト、配列、キー、値、文字列、数値、真偽値、nullを学びます。
この単元で学ぶこと
JSONは、構造化されたデータをテキストで表現するための形式です。ネットワーク機器やコントローラのAPIでは、状態情報や設定情報をJSONで返したり、JSONを受け取ったりすることがあります。
この単元では、JSON、オブジェクト、配列、キー、値、文字列、数値、真偽値、null、application/jsonの基本を学びます。
JSONとは
JSONは、構造化されたデータを表現する軽量なテキスト形式です。人が読みやすく、プログラムでも扱いやすいため、Web APIや自動化ツールで広く利用されます。
JSONでは、文字列、数値、真偽値、nullのような基本の値と、オブジェクト、配列のような構造を組み合わせてデータを表します。
オブジェクト
JSONオブジェクトは、中括弧で囲み、キーと値の組をまとめた構造です。たとえば、機器名、管理IPアドレス、OSバージョンを1台の機器情報としてまとめるときに使えます。
キーは文字列で、値には文字列、数値、真偽値、null、別のオブジェクト、配列を設定できます。
配列
JSON配列は、角括弧で囲み、複数の値を順番に並べた構造です。複数のインターフェース、VLAN、ルート、機器などを一覧として表すときに使えます。
配列の要素には、同じ型の値だけでなく、オブジェクトを並べることもできます。たとえば、複数のインターフェース情報をオブジェクトの配列として表します。
キーと値
キーは、データの項目名です。値は、その項目に対応する実際のデータです。JSONオブジェクトでは、キーと値をコロンで区切ります。
たとえば、機器名を表すキーに対して文字列を設定し、VLAN番号を表すキーに対して数値を設定できます。
主な値の型
文字列は、引用符で囲んだテキストです。数値は、整数や小数を表します。真偽値はtrueまたはfalseで、機能が有効かどうかのような状態を表します。nullは、値が存在しない、または未設定であることを表すために使われます。
API仕様によって、値を省略する場合、nullを明示する場合、空文字列を使う場合の意味が異なることがあります。APIドキュメントを確認することが重要です。
JSONの記述ルール
JSONでは、文字列とキーを引用符で囲みます。オブジェクトのキーと値はコロンで区切り、複数の要素はカンマで区切ります。
カンマの付け忘れ、引用符の不足、括弧の対応ミスは、JSONとして解釈できない原因になります。APIへ送る前に、形式が正しいかを確認します。
application/json
application/jsonは、HTTPでJSON形式のデータを扱うときに使われるメディアタイプです。APIクライアントは、送信する本文がJSONであることをContent-Typeヘッダーで示す場合があります。
APIから返されるデータも、Content-Typeを確認することで、JSONとして扱うべきかを判断できます。
ネットワーク自動化での利用
ネットワークAPIでは、機器一覧、インターフェース状態、VLAN設定、監視データなどがJSONで返されることがあります。自動化スクリプトは、必要なキーを取り出し、条件に応じてレポートや設定変更を行います。
JSONをそのまま眺めるだけでなく、オブジェクトと配列の階層、キーと値の対応を追えるようになると、APIのレスポンスを理解しやすくなります。
まず覚えたいポイント
JSONは、APIで扱われることが多い構造化データ形式です。オブジェクトはキーと値の組、配列は複数の値の並びを表します。文字列、数値、真偽値、nullの違いを理解し、JSONの構造を確認できるようにしましょう。
関連用語
JSON
構造化されたデータをテキストで表現するための形式です。
用語を見る →
JSONオブジェクト
キーと値の組を中括弧でまとめたJSONの構造です。
用語を見る →
JSON配列
複数の値を角括弧で順番に並べたJSONの構造です。
用語を見る →
キー
JSONオブジェクトでデータの項目名を表す文字列です。
用語を見る →
値
JSONでキーに対応付ける実際のデータです。
用語を見る →
文字列
引用符で囲んだテキストを表すJSONの値です。
用語を見る →
数値
整数や小数を表すJSONの値です。
用語を見る →
真偽値
trueまたはfalseで状態を表すJSONの値です。
用語を見る →
null
値が存在しないまたは未設定であることを表すJSONのリテラルです。
用語を見る →
application/json
HTTPでJSON形式のデータを扱うときに使われるメディアタイプです。
用語を見る →