
この記事でわかること
-
JSONファイルとは、JSONフォーマットで記述されたテキスト形式のファイルを指します
-
JSONはJavaScriptで定義されているオブジェクト表記法の1つです
-
JSONファイルは、主要なプログラム言語から利用されておりデータ交換に用いられます
マイナビ転職 IT AGENTへ! 【無料転職サポート申し込みはコチラ】
目次
JSONファイルとは?

JSONファイルとはJSONフォーマットで記述された、テキスト形式のファイルを指します。JSONファイルはファイルを使ったデータ交換に利用されています。ファイルの拡張子は.jsonで、RFCおよびIETFの標準規格となっています。
JSONとは?
JSONとはJavaScript Object Notationの略で、ジェイソンと呼んでいます。JSONはJavaScriptで定義されているオブジェクト表記法の1つで、テキスト形式で表記されるので、簡単にデータ交換ができます。そのためJavaScriptに限らず、主要なプログラム言語から利用されています。
JSONの表記形式
JSONの表記形式はとてもシンプルで、以下の規則に従います。
表記形式:基本規則
{ “名前”: 値 }
{ “名前”: 値 , “名前”: 値 }
{ “名前”: 値 , “名前”: 値 , “名前”: 値 }
- 名前と値のペア
データは名前と値のペアで記述します。
名前と文字列の値はそれぞれ”(ダブルクォーテーション)で括ります。
’(シングルクォーテーション)は使用できません。 - {}(波カッコ)と:(コロン)の利用
データの最初と最後は{}(波カッコ)で括ります。
名前と値の間に:(コロン)を入れます。 - 名前と値のペアの間に,(カンマ)を利用
名前と値のペアが複数ある場合は、名前と値のペアの間に,(カンマ)を入れます。 - 配列は(カッコ角カッコ)で、ネストは{}(波カッコ)で記述
値を入れ子とする場合は配列表記とネスト表記が可能です。
【参考】:JSONの紹介
JSONの特殊文字の表記形式
以下の特殊文字は、エスケープ文字として\(バックスラッシュ)を先に入力し使用します。
- \”(ダブルクォーテーション)
- \\(バックスラッシュ)
- \/(スラッシュ)
- \b バックスペースを意味します。
- \r フォームフィードを意味します。
- \n ラインフィードを意味します。
- \r キャリッジリターンを意味します。
- \t タブを意味します。
- \uXXXX 16進数表記です。
JSONのデータ型
JSONは以下のデータ型に対応しています。
- 文字列
”(ダブルクォーテーション)で括った文字列で、特殊文字は\(バックスラッシュ)を先に付けます。 - 数値
0から9の数字、符号、小数点、指数記号(Eとe)が使えます。
8進数と16進数は使えません。 - true、false
論理値で全て小文字で表記します。 - null
ヌル値で全て小文字で表記します。 - オブジェクト
JSONオブジェクトを{}(波カッコ)で入れ子にすることができます。 - 配列
(角カッコ)で括ることで、連続したデータ領域が割り当てられます。
これまで学んだJSON表記形式を使ってデータ構造を記述してみます。以下の例は、クラスの学生情報とテスト成績のJSONデータです。名前と値の組み合わせは、実際の使用データに基づいて定義していきます。
使用例:クラスの学生情報とテスト成績のJSONデータ
{
"test-data": [
{
"class-id":10,
"name": "foo",
"test-result":[91, 78, 87],
"passed":true
},
{
"class-id":11,
"name": "bar",
"test-result":[45, null, 59],
"passed":false
},
{
"class-id":12,
"name": "baz",
"test-result":[99, 96, 97],
"passed":true
}
]
}
JSONの作成ツール
JSONはテキスト形式のファイルですから、WindowsのNotepad・MacOSのTextEdit、LinuxのVim等のテキストエディタでファイルの作成や修正が可能です。しかしながら高度なJSONの編集機能が必要でしたら、JSONに対応する作成ツール・エディタを使用します。
JSONエディタは、ビューアとしてデータ(名前・値)の確認さらに編集が可能です。以下が主要なJSONエディタです。
- Visual Studio Code(VSCode)
統合開発環境(IDE)として有名なソフトウェアで、JSONに対応します。
IDEのため、構文チェックや検索・編集が容易です。
Windows・MacOS・Linuxで動作し、C++やPython・PHP等多数のプログラム言語に対応します。
- Windows用JSONエディタ
Notepad++はNotepadエディタをプログラム言語に対応させたような操作性を持つ、フリーソフトウェアのエディタです。
80種類ほどのプログラム言語に対応します。
【参考】:Notepad++
JSONeditはZipファイルを展開するだけで使用できるJSONエディタです。
CSVファイルをインポートする機能があります。Unicodeサポートがされていないことが欠点です。
【参考】:JSONedit
- MacOS用JSONエディタ
Jayson - Visual JSON Editorは有償となってしまいますが、グラフィカルなエディタです。
上記比べてみるとVisual Studio Codeは無償(無料)利用できますし、Windows・MacOS・Linuxで動作しますのでおすすめのソフトウェアです。
JSONファイルの作り方

JSON形式のファイルの作り方は、各プログラム言語の用法に合わせてAPIを使用します。以下はJSONに対応する代表的なプログラム言語です。JSON形式でファイルが出力されます。
- Python
PythonではJSON APIを用い、”import json”でライブラリをインポートします。
次にjson.dumps()でJSONデータ形式に変換し、writelines()でファイルに出力します。 - Java
Javaでは、JSONObjectクラスが利用できます。
importでnet.sf.json.JSONObject、またはorg.json.JSONObjectのライブラリをインポートします。
次にデータをJSONObject.put()でJSONデータ形式に変換し、JSONObject.write()でファイルに出力します。 - PHP
オブジェクトをjson_encode()でJSONデータ形式に変換し、fwrite()でファイルに出力します。 - JavaScript
オブジェクトをJSON.stringify()でJSONデータ形式に変換し、writeFileSync()でファイルに出力します。
JSONファイルの読み込み方法
JSON形式のファイルの読み込みも作成時と同様に、各プログラム言語の用法に合わせてAPIを使用します。JSON形式のファイルからデータを読み込み、変換することができます。
- Python
作成時同様jsonライブラリをimportします。
次にreadline()でファイルからJSONデータを読み込み、json.loads()でオブジェクトを復元します。 - Java
作成時同様、JSONObjectクラスのライブラリをインポートします。
次にreadLine()でファイルからJSONデータを読み込み、JSONObject.get()でオブジェクトを復元します。 - PHP
fread()やfgets()でファイルからJSONデータを読み込み、json_decode()でオブジェクトを復元します。 - JavaScript
readFileSync()やreadFile()でファイルからJSONデータを読み込み、JSON.parse()でオブジェクトを復元します。
JSONファイルの削除方法
JSON形式のファイルの削除はOSのファイル削除の操作で削除します。プログラム言語内でも作成したファイルをAPIで削除することができますし、プログラム内で使用中のデータも言語の演算子で削除します。
また、画像共有サイトのGoogleフォトでは一括ダウンロードすると.jsonファイルが付属しています。このファイルは写真画像の更新日時のデータが入っていますから、写真をダウンロードして整理する際に利用できます。勝手にファイルがダウンロードされたと慌てて削除せずに、JSONエディタで開いてみると良いでしょう。
JSONファイルを理解したら、データ交換に利用しましょう

JSONファイルは構造がシンプルです。配列と入れ子が理解できればJavaScriptをはじめとする多くのプログラム言語で利用できます。データ交換を簡単に行うことができますので、多くのシステムで利用されています。JSONファイルを理解したら、実際のシステムで利用することをおすすめします。