このページの本文へ

前へ 1 2 次へ

Windows Info 第253回

Windows 10でJSONを扱う

2020年12月06日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 最近、JSON(ジェーソン)を用いたデータ交換が増えてきた。JSONとは13日の金曜日に来るヤツでもなければ、スーパーマーケットの名前でもない。「JavaScript Object Notation」の略で、当初はJavaScriptでオブジェクトデータをファイルに保存したり、通信で送信するなどの前に「シリアライズ」するための仕様だったが、現在ではECMAやIETFで標準化されており、さまざまな言語から利用が可能だ。

 Windowsで作業する際にもこのJSONデータを扱うことがあり、今後もさらに増えていくことが考えられる。今回は、JSONをちゃんと解説して、Windowsでの簡単な使い方を見ていく。なお、JSONの仕様書はECMA-404であり、以下のサイトから入手が可能だ(https://www.json.org/json-ja.html

JSONの紹介ページ。ここにある「ECMA-404……」の部分に仕様書へのリンクがある

そもそもJSONとはなんぞや?

 JSONは、「名前」と「値」のペアの集まりで順番を持たない「オブジェクト」と「値」順番に並べた「配列」という2つの構造を持つ。これらは、互いに他方を含むことができる。基本的にUnicode文字(JSONではUTF-8だけを使う)ですべてを表現する。

JSONのオブジェクトは、全体を波括弧({})で囲み、名前(文字列。ダブルクオートで括る)と値の組をカンマで区切って並べる。名前と値の間には、コロン(:)を置き、最後の組の後ろ(閉じ波括弧の前)には、カンマを置かない

配列は、値(オブジェクトや配列でもいい)をカンマで区切って並べたもの

 「値」には、「文字列」「数値」「オブジェクト」「配列」、真偽値(trueとfalse)、ヌル値(null)がある。このうち「文字列」は、ダブルクオートで囲まれたゼロ文字以上のユニコード文字の連なりである。ただし逆スラッシュを使う「エスケープ文字」がいくつか定義されている。

エスケープ文字 意味
¥" タブルクオート
¥¥ 逆スラッシュ
¥/ スラッシュ
¥b バックスペース
¥f フォームフィード(改ページ)
¥n LF
¥r CR
¥t TAB
¥uNNNN NNNNで表されるユニコード文字

 数値は、負号、数字、小数点(ピリオド)、指数記号(Eまたはe)からなる数値の文字表現を使う。文字列と違うのは、数値はダブルクオートで囲まないことだ。特に数値の仕様は定められておらず、受け取った側が解釈することになる。

 仕様としてはかなり単純で、大きな処理性能は不要ではあるが、最後まで読まないと終わりがわからないので、IoT機器のようにメモリが限定されたハードウェアでは、送信することには問題はないものの、受信はかなり制限がつく。とはいえ、PCやスマートフォンクラスのハードウェアであれば、これを処理するのにはほとんど問題はない。

JSONスキーマで拡張できる

 JSONは、単純な構造であるがために扱いやすいが、逆に高度な利用では、その単純さがあだになることもある。たとえば、JSONには注釈を一切含むことができないため、JSON自体とは別に記録しておかねばならない。データファイルとして使うときには、ちょっと致命的ともいえる欠点ではある。

 これをカバーしようとして作られたのが「JSONスキーマ」という仕様だ。これは、JSONの拡張として定義されている。JSONスキーマでは$commentで注釈を表す。また、$schemaというオブジェクトでスキーマ定義が保存されているURLを示す。

 JSONスキーマに対応している場合、$schemaを使ってスキーマ定義を読み込む。スキーマには、オブジェクトに含めることができるメンバー名やその説明、値の取り得る範囲などが定義されている。これを使えば、名前を補完したり、適切な名前や値を設定するようにユーザーに促すことなどができる。

 さらにVS CodeやVisual Studioでは、JSON with JavaScript style Comment(以下、JSONCとする)というMicrosoftが提案した方式で「//」で始まる行などを注釈行として無視するようになっている。

 Windows Terminalは、設定をJSONで行ない、JSONスキーマに対応している。そのスキーマは、以下の画面のようなものになっている。Visual Studio CodeやVisual Studioのエディターなどは、JSONスキーマに対応しており、JSONファイルを読み込んだとき、スキーマがあれば、これを自動で読み取り、補完機能などが動作するようになっている。

「https://aka.ms/terminal-profiles-schema」にあるWindows Terminalのsettings.jsonのスキーマ

 ただし、JSONスキーマはあくまでもJSONの拡張であり、JSONの範囲を逸脱している。JSONを扱えるプログラムのすべてがJSONスキーマに対応しているわけではない。このため、JSONスキーマの注釈でエラーが起きてしまうこともある。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、512GB SSDストレージ、1080p FaceTime HDカメラ、Touch ID - インディゴ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、512GB SSDストレージ、1080p FaceTime HDカメラ、Touch ID - インディゴ
¥110,162
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - シルバー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - シルバー
¥177,333
3
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
¥9,999
4
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,129
5
【整備済み品】ノートパソコン N E C Versapro-VKシリーズ core i3 第8世代/ノートPC/Webカメラ内蔵/Windows11/MS & Office2019/メモリ4GB/SSD128GB/DVD/15.6インチ/HDMI/Bluetooth/wifi/マウス付属/初期設定不要/初心者向け(i3-8/SSD 128GB)
【整備済み品】ノートパソコン N E C Versapro-VKシリーズ core i3 第8世代/ノートPC/Webカメラ内蔵/Windows11/MS & Office2019/メモリ4GB/SSD128GB/DVD/15.6インチ/HDMI/Bluetooth/wifi/マウス付属/初期設定不要/初心者向け(i3-8/SSD 128GB)
¥14,850

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,279
2
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
3
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
4
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
7
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
¥1,690
8
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
9
Anker USB-C & USB-C ケーブル (1.8m, 240W, 高耐久ナイロン) USB PD対応 MacBook Pro iPhone 16 / 15 Galaxy iPad Pro/Air MacBook Pro/Air 各種対応 ブラック
Anker USB-C & USB-C ケーブル (1.8m, 240W, 高耐久ナイロン) USB PD対応 MacBook Pro iPhone 16 / 15 Galaxy iPad Pro/Air MacBook Pro/Air 各種対応 ブラック
¥1,690
10
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,645

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン